语言程序设计慕课下编译答案完美.docx
- 文档编号:28675070
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:22
- 大小:17.55KB
语言程序设计慕课下编译答案完美.docx
《语言程序设计慕课下编译答案完美.docx》由会员分享,可在线阅读,更多相关《语言程序设计慕课下编译答案完美.docx(22页珍藏版)》请在冰豆网上搜索。
语言程序设计慕课下编译答案完美
1求最大公约数和最小公倍数(15分)
#include<>
intfun1(intm,intn)大公约数
#include<>
intfun1(intm,intn)数球和
#include<>
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<>
intstep=1;
voidfc(intn)鸭子
#include<>
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<>
#include<>
main()
{chara[100];
inti,j;
gets(a);
i=0;
j=strlen(a)-1;
while(i {if(a[i]==a[j]) {i++;j--;} else break;} if(i>=j)printf("YES\n"); elseprintf("NO\n"); } 指针排序 #include<> voidsort(int*p,intn); voidsort(int*p,intn) { inti,j; inttemp=0; for(i=0;i { for(j=0;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<> voidfind(int*p,intelement,intn); voidfind(int*p,intelement,intn) { inti,flag=0;; for(i=0;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<> 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<> 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]); } else { 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]); 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]); } else { 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]); 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]); } else { 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]); 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<> #include<> 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 if(str1[i]==str2[0]){ for(j=1;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<> main() { printf("wanglei,\n"); printf("lihong,\n"); printf("zhangli,\n"); printf("liuming,83\n"); printf("AVERAGE: ,,82\n"); } 加密 #include<> #include<> 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 { 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"" 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<> #include<> 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<> #include<> 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 for(i=0;i q=x[j]; if(x[j]>x[j+i]){ x[j]=x[j+i]; x[j+i]=q; } } } for(i=0;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<>#include<> 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) { printf("%c",a[i]); } } } 字符串反向 #include<> #include<> intmain() {charstr[80],c; inti,j,n; gets(str); n=strlen(str); for(i=0,j=n-1;i {c=str[i]; str[i]=str[j]; str[j]=c; } puts(str); return0; } 基本的四则运算 #include<> intmain(){ longlonga,b; charop; scanf("%lld%c%lld",&a,&op,&b); switch(op){ case'+': printf("%lld\n",a+b); break; case'-': printf("%lld\n",a-b); break; case'*': printf("%lld\n",a*b); break; case'/': printf("%lld\n",a/b); break; case'%': printf("%lld\n",a%b); break; } return0; } 复杂的四则运算 #include<> #include<> intmain(){ staticcharx[100]; inti; scanf("%s",&x); for(i=0;i if(x[i]>='0'&&x[i]<='9'){ continue; } if(x[i]=='*'){ x[i-1]=(x[i-1]-'0')*(x[i+1]-'0')+'0'; x[i+1]='0'; i++; } elseif(x[i]=='/'){ x[i-1]=(x[i-1]-'0')/(x[i+1]-'0')+'0'; x[i+1]='0'; i++; } } for(i=1;i if(x[i]>='0'&&x[i]<='9'){ if(x[i-1]=='+'){ x[0]+=(x[i]-'0'); } elseif(x[i-1]=='-'){ x[0]-=(x[i]-'0'); } } else{ continue; } } printf("%c\n",x[0]); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 慕课下 编译 答案 完美