C语言程序设计慕课下编译答案 完美_第1页
C语言程序设计慕课下编译答案 完美_第2页
C语言程序设计慕课下编译答案 完美_第3页
C语言程序设计慕课下编译答案 完美_第4页
C语言程序设计慕课下编译答案 完美_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12页1求最大公约数和最小公倍数(15分)#include<stdio.h>intfun1(intm,intn)//辗转相除法求m/n的公约数intr;while(n)r=m%n;m=n;n=r;returnm;intfun2(intm,intn)//最小公倍数returnm*n/fun1(m,n);intmain()inta,b;scanf("%d,%d",&a,&b);//输入printf("最大公约数:%d\n最小公倍数:%d\n",fun1(a,b),fun2(a,b));return0;2排序并插入(15分)#include<stdio.h>voidInsertionSort(int*arr,intn)//插入排序int*last=0,*next=0,key=0,i=0;for(i=1;i<n;++i)next=arr+i,key=*next;if(key<*arr)//将待插的数据比第一个数据小,直接插到最前面。for(last=next;next!=arr;next=last)*next=*--last;*arr=key;else//否则从后往前遍历,找到第一个小于关键字的位置插入。for(last=next;key<*--last;next=last)*next=*last;*next=key;voidOutPutArray(constint*arr,intn)//打印一个数组 inti;for(i=0;i<n;++i)printf("%d",arr[i]);if(i<n-1)printf(",");printf("\n");voidInsertNumber(int*arr,intn)intkey=0,i=0;InsertionSort(arr,n-1);//对之前的n-1个数排序//OutPutArray(arr,n-1);//这里可以打印出来看一下对之前的数据排序是否正确scanf("%d",&key);//输入一个数if(key<arr[0])//参照之前的插入排序原理,将这个数插入到数组。for(i=n-1;0<i;--i)arr[i]=arr[i-1];arr[0]=key;elsefor(i=n-2;key<arr[i];--i)arr[i+1]=arr[i];arr[++i]=key;intmain()intarr[10]={0};scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d"//输入9个数,arr+0,arr+1,arr+2,arr+3,arr+4,arr+5,arr+6,arr+7,arr+8);InsertNumber(arr,10);//调用函数,将输入的第10个数插进去。OutPutArray(arr,10);//输出return(0);3.最大公约数#include<stdio.h>intfun1(intm,intn)//辗转相除法求m/n的公约数intr;while(n)r=m%n;m=n;n=r;returnm;intmain()inta,b;scanf("%d,%d",&a,&b);//输入printf("%d\n",fun1(a,b));return0;4.奇数球和#include<stdio.h>intmain(){intn;intsum(intn);scanf("%d",&n);printf("%d\n",sum(n));intsum(intn){intb;if(n>1)b=sum(n-1)+2*n-1;if(n==1)b=1;returnb;}5.巧算自然数#include<stdio.h>intstep=1;voidfc(intn)//输出n这个数并按角谷猜想对n做处理以便进入下一步。返回值是总步数。if(n==1)printf("%d",n);return;elseif(n%2==0)printf("%d,",n);fc(n/2);step++;elseprintf("%d,",n);fc(n*3+1);step++;intmain(intargc,char*argv[])intn;scanf("%d",&n);fc(n);printf("\nstep=%d\n",step);return0;6.卖鸭子#include<stdio.h>intmain(){ staticinti,x[8]; x[7]=2; for(i=7;i>=0;i--) x[i-1]=(x[i]+1)*2; printf("sum=%d\n",x[0]); for(i=0;i<7;i++) printf("sell=%d,",x[i]-x[i+1]); printf("\n"); return0;7.各位数字之和intadd(ints)if(s<10)returns;elsereturns%10+add(s/10);intmain(intargc,char*argv[])inta,b;scanf("%d",&a);b=add(a);printf("%d",b);return0;对称字符串#include<stdio.h>#include<string.h>main(){chara[100];inti,j;gets(a);i=0;j=strlen(a)-1;while(i<j){if(a[i]==a[j]){i++;j--;}elsebreak;}if(i>=j)printf("YES\n");elseprintf("NO\n");指针排序#include<stdio.h>voidsort(int*p,intn);voidsort(int*p,intn)inti,j;inttemp=0;for(i=0;i<n;i++)for(j=0;j<n;j++)if(p[j]>p[j+1])temp=p[j];p[j]=p[j+1];p[j+1]=temp;intmain()inti;inta[10];for(i=0;i<10;i++)scanf("%d",&a[i]);int*p=a;sort(a,10);for(i=0;i<10-1;i++)printf("%d,",*(p++));printf("%d\n",*p);return0;查找数 #include<stdio.h>voidfind(int*p,intelement,intn);voidfind(int*p,intelement,intn)inti,flag=0;;for(i=0;i<n;i++)flag++; if(element==p[i]) printf("%d\n",p[i]);break; if(flag==n) printf("No\n"); intmain() inti; inta[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); int*p=a; intnum; scanf("%d",&num); find(p,num,10); return0;输出指定成绩#include<stdio.h>intmain(){ intgrade[3][4],i,j,(*p)[4]=grade,n; floatave=0; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&grade[i][j]); scanf("%d",&n); for(i=0;i<3;i++) printf("%d",*(*(p+n-1)+i)); printf("%d\n",*(*(p+n-1)+3)); for(i=0;i<4;i++) ave+=*(*(p+n-1)+i); ave/=4; if(ave-(int)ave) printf("%.2f\n",ave); else printf("%d\n",(int)ave); return0;成绩排序#include<stdio.h>voidaverage(intp[][6],intn);voidaverage(intp[][6],intn)inti;for(i=0;i<4;i++)p[n][4]+=p[n][i];p[n][5]=p[n][4]/4;voidPrint(intp[][6],intn)intmax1=p[0][5];intmax2=p[1][5];intmax3=p[2][5];inti;if(max1>max2&&max1>max3)if(max2>max3)printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);elseprintf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);elseif(max2>max1&&max2>max3)if(max1>max3)printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);elseprintf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);elseif(max3>max1&&max3>max2)if(max1>max2)printf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);elseprintf("%d,%d,%d,%d\n",p[2][0],p[2][1],p[2][2],p[2][3]);printf("%d,%d,%d,%d\n",p[1][0],p[1][1],p[1][2],p[1][3]);printf("%d,%d,%d,%d\n",p[0][0],p[0][1],p[0][2],p[0][3]);intmain()inti,j;inta[3][6]={0};for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);average(a,i);Print(a,3);return0;统计字符串出现次数#include<stdio.h>#include<string.h>intmain(){ charstr1[100],str2[100]; intflag=0,counter=0,l1,l2,i,j; gets(str1);gets(str2); l1=strlen(str1);l2=strlen(str2); for(i=0;i<l1;i++){ if(str1[i]==str2[0]){ for(j=1;j<l2;j++){ if(str1[i+j]!=str2[j]) break; elseflag=1; if(flag) counter++; if(counter) printf("%d\n",counter); else printf("No\n"); return0;成绩统计求平均分#include<stdio.h>main()printf("wanglei,86.75\n");printf("lihong,86.50\n");printf("zhangli,79.50\n");printf("liuming,83\n");printf("AVERAGE:84.50,86.75,82.50,82\n");加密#include<stdio.h>#include<string.h>intl;voidgm(char*a);main() chars[100]={0}; gets(s); l=strlen(s); gm(s);voidgm(char*a) inti; chard[100]={0}; for(i=0;i<l;i++) switch(a[i]) case'a':d[i]='d';break; case'b':d[i]='w';break; case'c':d[i]='k';break; case'd':d[i]=';';break; case'e':d[i]='i';break; case'i':d[i]='a';break; case'k':d[i]='b';break; case';':d[i]='c';break; case'w':d[i]='e';break; default:d[i]=a[i]; puts(d);学生成绩#include"stdio.h"structade{intno;intam;intbm;intcm;};structadeN[3]={1,70,80,90,2,75,85,95,3,88,84,65};main() chars[300];inti=0,k,m; for(i=0;i<3;i++) scanf("%c",&s[i]); if(s[i]=='\n')break;} if(s[0]=='m')printf("2"); elseif(s[0]=='1'||s[0]=='2'||s[0]=='3'){k=N[(int)(s[0]-'1')].am+N[(int)(s[0]-'1')].bm+N[(int)(s[0]-'1')].cm;;m=k/3;printf("%d",m);} elseprintf("0");字母储存#include<stdio.h>#include<stdlib.h>typedefstructChar_{charch;charintch;structChar_*next;CHAR_;intmain(void)CHAR_*node=NULL;CHAR_*ch_=NULL;CHAR_*hear=NULL;charzimu='a';charpanduanzimu;charrecord;for(;zimu!='e';zimu++)ch_=(CHAR_*)malloc(sizeof(CHAR_));if(ch_==NULL){exit(0);}ch_->ch=zimu;ch_->next=NULL;if(node==NULL){node=ch_;}else{node->next=ch_;node=node->next;}if(hear==NULL){hear=node;}for(zimu-=2;zimu!=('a'-1);zimu--)ch_=(CHAR_*)malloc(sizeof(CHAR_));if(ch_==NULL){exit(0);}ch_->ch=zimu;ch_->next=NULL;node->next=ch_;node=node->next;for(node=hear,zimu='0';node!=NULL;node=node->next,zimu++)node->intch=zimu;scanf("%c",&panduanzimu);node=hear;if(panduanzimu>='0'&&panduanzimu<='6')while(node!=NULL)if(panduanzimu==node->intch){printf("%c",node->ch);break;}node=node->next;elseif(panduanzimu>='a'&&panduanzimu<='d')while(node!=NULL)if(panduanzimu==node->ch)record=node->intch;node=node->next;printf("%c",record);else{printf("N");node=hear;while(node!=NULL)hear=node->next;free(node);node=hear;return0;链表合并#include<stdio.h>#include<string.h>intmain(){ staticinti,j,m,n; staticcharq,x[100],y[100],z[100]; gets(x);gets(y); strcat(x,y); m=strlen(x); for(j=0;j<m;j++){ for(i=0;i<m-j;i++){ q=x[j]; if(x[j]>x[j+i]){ x[j]=x[j+i]; x[j+i]=q; for(i=0;i<m;i++){ for(j=0;j<=i;j++){ if(z[j]==x[i]) break; if(j==i) z[n]=x[i]; n=strlen(z); for(i=m-1;i>0;i--){ if(isalpha(z[i])){ m=i; break; for(i=0;i<=m;i++){ if(z[i]==''){ continue; else{ if(i==m){ printf("%c\n",z[i]); else{ printf("%c",z[i]); return0;解析字符串#include<stdio.h>#include<stdlib.h>intmain()inti,j,k=0;chara[100],b[100],c[100];gets(a);for(i=0;a[i]!='n';i++)printf("%c",a[i]);k++;printf("\n");for(i=k+1;a[i]!='\0'&&a[i]!='n';i++)printf("%c",a[i]);k++;if(a[i]=='n'&&a[i+1]!='\0')for(i=k+2;a[i]!='\0';++i)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论