发布时间 : 星期一 文章MOOC C语言下编程题答案参考V2.0(1)更新完毕开始阅读
MOOC C语言下编程题答案参考V2.0(已更正)
*分两栏布局
大部分比较简单,有难度的只有几题,做了标注“*”,建议想一下再参考
第一周编程作业
1求最大公约数和最小公倍数(15分)
#include
int gcd(int a,int b) {
int t; if(a
int lcm(int m,int n) {return m*n/gcd(m,n);}
2排序并插入(15分)
#include
int x[20],i,j,t; scanf(\n%d\6],&x[7],&x[8],&x[9]); for(i=1;i<=9;i++) { for(j=0;j<=9-i;j++) {
if(x[j]>x[j+1]) { t=x[j+1]; x[j+1]=x[j]; x[j]=t; } } } printf(\%d\[9]); }
第二周编程作业
最大公约数(15分) #include
int gcd(int a,int b) {
int t; if(a
奇数求和(15分)
#include
int sum(int n) { if(n==1) return 1; else return n+sum(n-2); }
int main() {
int n; scanf(\
printf(\
}
第三周编程作业
巧算自然数
#include
int n,i,step=0; scanf(\ while(1) { if(n%2==0) { printf(\ n/=2; step++; } else if(n==1) { printf(\ step++; break; } else { printf(\ n=n*3+1; step++; } } printf(\}
*卖鸭子
#include
int duck(int village) { if(village==7) return 2; return (duck(village+1)+1)*2; }
int main() { int sum=duck(0); int sell=0; printf(\ for(int i=1;i<=7;i++) { sell = sum-duck(i); sum = duck(i); printf(\ } printf(\ return 0; }
输出各位数字之和 #include
int main() { int len,r; char num[1000]; gets(num); len=strlen(num); r=sum(num,len); printf(\}
第四周编程作业
对称字符串
#include
s=str;
for(i=0;i if(flag) printf(\ else printf(\ } 排序 #include 查找数 #include 第五周编程作业 输出指定学生成绩 #include int x[3][4],i,j,s; double r; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf(\ scanf(\ s--; for(i=0;i<3;i++) printf(\ printf(\ if(((x[s][0]+x[s][1]+x[s][2]+x[s][3])%4)!=0) { r=((double)x[s][0]+(double)x[s][1]+(double)x[s][2]+(double)x[s][3])/4; printf(\ } else printf(\][3])/4); } *成绩排序 #include for(i=0;i<3;i++) for(j=0;j<4;j++) scanf(\ p=a; order(p); return 0; } void order(int(*p)[4]) { int temp,k,j,i,b[]={0,0,0}; for(j=0;j<3;j++) for(i=0;i<4;i++) b[j]+=*(*(p+j)+i); for(j=0;j<2;j++) for(i=j+1;i<3;i++) {if(b[j] for(j=0;j<3;j++) for(i=0;i<4;i++) if(i!=3) printf(\ else printf(\} 第六周编程作业 统计字符串出现次数 #include 成绩统计 #include printf(\ \\nzhangli,79.50\\nliuming,83\\nAVERAGE:84.50,86.75,82.50,82\\n\} 第七周编程作业 字母加密对照表 #include struct keyboard translate[]= { 'a','d','b','w','c','k','d',';','e','i', 'i','a','k','b',';','c','w','e' }; int main() { int i=0; char ch; while((ch=getchar())!='\\n') { for(i=0;translate[i].input!=ch&&i<9;i++); if(i==9) printf(\ else printf(\ } printf(\} 学生成绩 #include