《2022年C语言程序设计慕课下编译答案.pdf》由会员分享,可在线阅读,更多相关《2022年C语言程序设计慕课下编译答案.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 求最大公约数和最小公倍数(15 分)#include int fun1( int m, int n) 大公约数#include int fun1( int m, int n) 数球和#includeint main() int n; int sum(int n); scanf(%d,&n); printf(%dn,sum(n); int sum(int n) int b; if(n1) b=sum(n-1)+2*n-1; if(n=1) b=1; return b;5. 巧算自然数#includeint step = 1;void fc(int n)鸭子#include int main(
2、)static int i,x8;x7=2;for(i=7;i=0;i-)xi-1=(xi+1)*2;printf(sum=%dn,x0);for(i=0;i7;i+)printf(sell=%d,xi-xi+1);printf(n);return 0;7. 各位数字之和精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 14 页 - - - - - - - - - - int add(int s) if (s10) return s; else return s%10+add(s/10); in
3、t main(int argc, char *argv) int a,b;scanf(%d,&a); b=add(a); printf(%d,b); return 0; 对称字符串#include #include main() char a100; int i,j; gets(a);i=0;j=strlen(a)-1;while(i=j) printf(YESn);else printf(NOn);指针排序#include void sort(int *p,int n); void sort(int *p,int n) int i,j; int temp=0; for(i=0;in;i+)
4、for(j=0;jpj+1) temp=pj; pj=pj+1; pj+1=temp; int main() int i; int a10; for(i=0;i10;i+) scanf(%d,&ai); int *p=a; sort(a,10); for(i=0;i10-1;i+) printf(%d,*(p+); printf(%dn,*p); return 0; 查找数#include void find(int *p,int element,int n); void find(int *p,int element,int n) int i,flag=0; for(i=0;in;i+) f
5、lag+; if(element = pi) printf(%dn,pi); break; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 14 页 - - - - - - - - - - if(flag = n) printf(Non); int main() int i; int a10; for(i=0;i10;i+) scanf(%d,&ai); int *p=a; int num; scanf(%d,&num); find(p,num,10); return 0; 输出指定成绩#in
6、clude int main()int grade34,i,j,(*p)4=grade,n;float ave=0;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&gradeij);scanf(%d,&n);for(i=0;i3;i+)printf(%d ,*(*(p+n-1)+i);printf(%dn,*(*(p+n-1)+3);for(i=0;i4;i+)ave+=*(*(p+n-1)+i);ave/=4;if(ave-(int)ave)printf(%.2fn,ave);else printf(%dn,(int)ave);return 0;精品资料 - -
7、- 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 14 页 - - - - - - - - - - 成绩排序#include void average(int p6,int n); void average(int p6,int n) int i; for(i=0;imax2 & max1max3) if(max2max3) printf(%d,%d,%d,%dn,p00,p01,p02,p03); printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn
8、,p20,p21,p22,p23); else printf(%d,%d,%d,%dn,p00,p01,p02,p03); printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(%d,%d,%d,%dn,p10,p11,p12,p13); else if(max2max1 & max2max3) if(max1max3) printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn,p00,p01,p02,p03); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名
9、师归纳 - - - - - - - - - -第 5 页,共 14 页 - - - - - - - - - - printf(%d,%d,%d,%dn,p20,p21,p22,p23); else printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(%d,%d,%d,%dn,p00,p01,p02,p03); else if(max3max1 & max3max2) if(max1max2) printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(
10、%d,%d,%d,%dn,p00,p01,p02,p03); printf(%d,%d,%d,%dn,p10,p11,p12,p13); else printf(%d,%d,%d,%dn,p20,p21,p22,p23); printf(%d,%d,%d,%dn,p10,p11,p12,p13); printf(%d,%d,%d,%dn,p00,p01,p02,p03); int main() int i,j; int a36=0; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); average(a,i); Print(a,3); return 0;
11、 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 14 页 - - - - - - - - - - 统计字符串出现次数#include #include int main()char str1100,str2100;int flag=0,counter=0,l1,l2,i,j;gets(str1);gets(str2);l1=strlen(str1);l2=strlen(str2);for(i=0;il1;i+)if(str1i=str20)for(j=1;jl2;j+)if(str1i+j!
12、=str2j)break;else flag=1;if(flag)counter+;if(counter)printf(%dn,counter);elseprintf(Non);return 0;成绩统计求平均分#includemain()printf(wanglei,n);printf(lihong,n);printf(zhangli,n);printf(liuming,83n);printf(AVERAGE:,82n);加密#include#includeint l;void gm(char*a);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归
13、纳 - - - - - - - - - -第 7 页,共 14 页 - - - - - - - - - - main()char s100=0;gets(s);l=strlen(s);gm(s);void gm(char*a)int i;char d100=0;for(i=0;il;i+)switch(ai)casea:di=d;break;caseb:di=w;break;casec:di=k;break;cased:di=;break;casee:di=i;break;casei:di=a;break;casek:di=b;break; case;:di=c;break; casew:di
14、=e;break; default:di=ai;puts(d);学生成绩#includestruct adeint no;int am;int bm;int cm;struct ade N3=1,70,80,90,2,75,85,95,3,88,84,65;main()char s300;int i=0,k,m;for(i=0;i3;i+)scanf(%c,&si);if(si=n) break;if(s0=m)printf(2);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 14 页 -
15、- - - - - - - - - else if(s0=1|s0=2|s0=3)k=N(int)(s0-1).am+N(int)(s0-1).bm+N(int)(s0-1).cm;m=k/3;printf(%d,m); else printf(0);字母储存#include #include typedef struct Char_ char ch; char intch; struct Char_ *next; CHAR_; int main(void) CHAR_ *node = NULL; CHAR_ *ch_ = NULL; CHAR_ *hear = NULL; char zimu
16、 = a; char panduanzimu; char record;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_ =
17、(CHAR_ *)malloc(sizeof(CHAR_); if (ch_ = NULL) exit(0); ch_-ch = zimu; ch_-next = NULL; node-next = ch_; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 14 页 - - - - - - - - - - node = node-next; for (node = hear, zimu = 0; node != NULL; node = node-next, zimu+) node-intch
18、 = zimu; scanf(%c, &panduanzimu); node = hear; if (panduanzimu = 0&panduanzimu intch) printf(%c, node-ch); break; node = node-next; else if (panduanzimu = a&panduanzimu ch) record = node-intch; node = node-next; printf(%c, record); else printf(N); node = hear; while (node != NULL) hear = node-next;
19、free(node); node = hear; return 0; 链表合并#include精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 14 页 - - - - - - - - - - #includeint main()static int i,j,m,n;static char q,x100,y100,z100;gets(x);gets(y); strcat(x,y);m=strlen(x);for(j=0;jm;j+)for(i=0;ixj+i)xj=xj+i;xj+i=q;fo
20、r(i=0;im;i+)for(j=0;j0;i-)if(isalpha(zi)m=i;break;for(i=0;i=m;i+)if(zi= )continue; elseif(i=m)printf(%cn,zi);elseprintf(%c ,zi);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 14 页 - - - - - - - - - - return 0;解析字符串#include #include int main() int i,j,k=0; char a100,b100,
21、c100; gets(a); for(i=0;ai!=n;i+) printf(%c,ai); k+; printf(n); for(i=k+1;ai!=0&ai!=n;i+) printf(%c,ai); k+; if(ai=n&ai+1!=0) for(i=k+2;ai!=0;+i) printf(%c,ai); 字符串反向#include#include int main ( ) char str80, c; int i, j, n; gets(str); n = strlen(str); for ( i=0, j=n-1; ij; i+, j- ) c= stri; stri = st
22、rj; strj = c; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 14 页 - - - - - - - - - - puts(str);return 0;基本的四则运算#include int main()long long a,b;char op;scanf(%lld%c%lld,&a,&op,&b);switch(op)case +:printf(%lldn,a+b);break;case -:printf(%lldn,a-b);break;case *:printf(%lld
23、n,a*b);break;case /:printf(%lldn,a/b);break;case %:printf(%lldn,a%b);break;return 0;复杂的四则运算#include #include int main()static char x100;int i;scanf(%s,&x);for(i=0;i=0&xi=9)continue;if(xi=*)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 14 页 - - - - - - - - - - xi-1=(xi-1-0)*(xi+1-0)+0;xi+1=0;i+;else if(xi=/)xi-1=(xi-1-0)/(xi+1-0)+0;xi+1=0;i+;for(i=1;i=0&xi=9)if(xi-1=+)x0+=(xi-0);else if(xi-1=-)x0-=(xi-0);elsecontinue;printf(%cn,x0);return 0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 14 页 - - - - - - - - - -