已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1#include #include #define LEN sizeof(struct node)struct node double num;struct node * next;int n1=0;int n2=0; int len = 0; struct node * create_list(struct node * head,int n,int flag) struct node * p1,* p2;printf(请输入数列,以回车键结束一个数字的输入,以ctrl+z结束一数列的输入.n);p1 = p2 = (struct node *)malloc(LEN);while(scanf(%lf,&p1-num) != EOF) n+; if(n=1) head = p1; else p2-next = p1; p2 = p1; p1 = (struct node *)malloc(LEN);p2-next = NULL;free(p1);if (flag = 1) n1 = n;if (flag = 2) n2 = n;return(head);struct node * convert_list(struct node * head)struct node * p1,* p2;double t;p1 = p2 = (struct node *)malloc(LEN);p1 = p2 = head;while(p1 != NULL) p2 = p1-next; while(p2 != NULL) if(p1-num num) t = p1-num; p1-num = p2-num; p2-num = t; p2 = p2-next; p1 = p1-next;free(p1);free(p2);return(head);int main()struct node * head,* head1,* head2,* temp,* p,* p1,* p2; head = head1 = head2 = temp = p = p1 = p2 = (struct node *)malloc(LEN);head1 = create_list(head1,n1,1); head2 = create_list(head2,n2,2);head1 = convert_list(head1);head2 = convert_list(head2);temp = head1;while(temp != NULL) printf(%5.2f ,temp-num); temp = temp-next;printf(n);temp = head2;while(temp != NULL) printf(%5.2f ,temp-num); temp = temp-next;printf(n);p1 = head1; p2 = head2;while( (n1 != 0) & (n2 != 0) ) len+; if(p1-num = p2-num) p-num = p1-num; p1 = p1-next; n1-; else p-num = p2-num; p2 = p2-next; n2-; if(len=1) head = p; else temp-next = p; temp = p; p = (struct node *)malloc(LEN);if(n1 = 0) temp-next = p2;if(n2 = 0) temp-next = p1;temp = head;while(temp != NULL) printf(%5.2f ,temp-num); temp = temp-next;printf(n);free(head);free(head1);free(head2);free(temp);free(p);free(p1);free(p2);return 0;2#include#define N 100000void main()int i,j,n,sum=1,top=0;int aN=0,bN=0;scanf(%d,&n);if(n10)for(i=1;i=n;i+)sum*=i;printf(%dn,sum);elsefor(i=1;i=9;i+)sum*=i;i=0;while(sum)ai=sum%10;sum/=10;i+;top=i-1;for(j=10;j=n;j+)a0*=j;b0=a0/10;a0%=10;for(i=1;itop;i+)ai=ai*j+bi-1;bi=ai/10;ai%=10;atop=atop*j+bi-1;btop=atop/10;atop%=10;while(btop)top+;atop=btop-1%10;btop=btop-1/10;for(j=0;j=top;j+)if(j%50=0) printf(n);printf(%d,atop-j);printf(n);3#includeint result = 1;int chess8; int check( int n ) int i; for (i = 1; i = n - 1; i+) if ( (chessi = chessn) | (chessn-chessi)=(n-i) |(chessn-chessi)=(i-n) ) return 0; return 1; void show_chess(void) int i; printf(第%2d个解决方案:, result+); for (i = 1; i = 8; i+) printf( %d , chessi); printf(n);void putchess( int n ) int i; if (n = 8) for (i = 1; i = 8; i+) chessn = i; if (check(n) = 1) if (n = 8) show_chess(); else putchess(n + 1); int main() int b;key: printf(这里是8皇后问题的递归解决方法:n);printf(请输入数字8n);scanf(%d,&b);if(b=8) putchess(1); else goto key; return 0;4/*高斯消元解N元一次方程*/#include #include #include #define EPS 1e-6#define N 200int n;double gaussNN;/存序数矩阵double answerN;/用来存有唯一解是的答案int input()int i,j;if (scanf(%d,&n)=EOF) return 0;for (i=0;in;i+)for (j=0;j=n;j+)scanf(%lf,&gaussij);return 1;void swap(double &a,double &b)double c;c=a;a=b;b=c;/*判断方程是否有解,返回值是0表示无解返回值是1表示有唯一解返回值是2表示有无穷多解*/int slove_gaussa()int i,j,k,p;for (j=0;jn;j+)p=j;for (i=j+1;ifabs(gausspj) p=i;if (fabs(gausspj)EPS) continue;if (p!=j)for (k=j;k=n;k+)swap(gausspk,gaussjk);for (i=j+1;i=j;k-)gaussik-=gaussjk*gaussij/gaussjj;bool r=false;for (i=0;in;i+)int num1=0,num2=0;for (j=0;jn;j+)if (fabs(gaussij)EPS) num1+;if (fabs(gaussji)=0;-j)answerj=gaussjn/gaussjj;for (i=j-1;i=0;-i)gaussin-=gaussij*answerj;return 1;int main()freopen(in4.txt,r,stdin);freopen(out4.txt,w,stdout);while (input()int i;int yes= slove_gaussa();/*for (int i=0;in;i+)for (int j=0;j=n;j+)printf(%lf ,gaussij);putchar(10);*/if (yes=0) printf(此N元一次方程无解n);else if (yes=2)printf(此N元一次方程有无穷多解n);elseprintf(此N元一次方程有唯一解:n);for (i=0;in;i+)printf(%.2lf ,answeri);putchar(10);return 0;5#include#includechar cmp100151,stack151,stack251,num100151; bool check(char k) if(k=A&k=a&k=0&k=A&k=a&k=z|k=_) return true; return false; int main() int n,i,j; char a1001,x1001; scanf(%d%*c,&n); int icase=0; while(n-) printf(Case %d:n,+icase); gets(a); int lena=strlen(a); int t=0,s=-1; for(i=0;ilena;i+) if(ai!= ) cmpt+s=ai; if(i=lena-1) cmpt+s=0; t+; else if(s!=-1) cmpt+s=0; s=-1; t+; gets(x); int lenx=strlen(x); int k=0,ok=1; s=-1; for(i=0;i=lenx;i+) if(check(xi)& ilenx) numk+s=xi; elseif(s!=-1) numk+s=0; for(j=0;jt;j+) if(strcmp(cmpj,numk)=0) break; if(j=t) for(j=0;js;j+) if(check2(numkj) break;if(js) printf(未定义变量%snn,numk); ok=0; break; s=-1; k+; /判断变量是否定义 int top1=-1,top2=-1; if(ok) for(i=0;i=0) top1-; else stack1+top1=); else if(xi=) stack2+top2=; else if(top2=0) top2-; else stack2+top2=; if(top1=0)if(top1=top2) printf(%c与%c不匹配nn,stack10,stack20);else if(stack10=() printf(左括号多余nn); else printf(右括号多余nn);ok=0; /堆栈 if(ok) for(i=0;ilenx;i+) if(xi=+&xi+1=+| xi=-&xi+1=-) if(i+2lenx & (check(xi+2) ) printf(%c%c后面不能再跟变量nn,xi,xi); ok=0; break; else if(check(xi) & i+1lenx & xi+1=() printf(变量后面不能直接跟左括号nn); ok=0; break; else if( i+1lenx &(xi=*|xi=(|xi=|xi=/|xi=+|xi=-|xi=%) &(xi+1=*|xi+1=|xi+1=|xi+1=)|xi+1=/|xi+1=+|xi+1=-|xi+1=%) if(xi=+|xi=-)& (xi=xi+1) | (i+3lenx &(xi=|
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年邵阳小型客运从业资格证2024年考试题
- 2024年国际高端人才引进与培养合同
- 2024年快递包装材料供应合同
- 2024年西安道路客运输从业资格证考试
- 2024年嘉峪关办理客运从业资格证2024年试题
- 2024年南京客运资格证考试模拟题答案
- 2024年宣城客运从业资格证模拟考试题库下载
- 倡导勤俭节约倡议书
- 研学的心得体会
- 2024年零售店面承包经营协议范本
- 中间表模式接口相关-住院与his-adt方案
- 临床PCR检验的室内质控方法课件
- 计算机解决问题的过程-优质课课件
- 作文讲评-“忘不了……”课件
- 深基坑安全管理(安全培训)课件
- pep四年级上册英语期中复习课件
- 12月4日全国法制宣传日宪法日宪法知识科普宣教PPT教学课件
- 血液透析营养管理课件
- 神经内科医疗质量评价体系考核标准
- 绿化监理实施细则
- 2022天翼云认证解决方案架构师重点知识点整理(备考用)
评论
0/150
提交评论