林子雨-C程序期末考试题目讲解[2011年6月真题考卷B].pptVIP

  • 4
  • 0
  • 约3.64千字
  • 约 12页
  • 2017-03-20 发布于四川
  • 举报

林子雨-C程序期末考试题目讲解[2011年6月真题考卷B].ppt

《C程序设计基础》 期末考试题目讲解 (2011年6月真题考卷B) 内容提要 期末考试题目 阅读题(题目未找到) 改错题 第1题 第2题 编程题 第1题 第2题 第3题 第4题 改错题-第1题 //加密数字:对整数的各位数字在原数字基础上加5,如果超过9则除10取余。 //加密后的数字存储在数组中,最后输出数组各元素。 #includestdio.h void main() { int a,b[20],i,len; //len少了=0 scanf(%d,a); while(a) { b[len++]=(a%10+5)%10; a=a/10; //少了} len--; while(len=0); //多了; printf(%d,b[len--]); printf(\n); } 改错题-第2题 //power函数的功能是求X的k次方; //主函数的功能是求x的1至n次方之和。 #includestdio.h int power(float x,int k) //少了; void main() { int n,sum=0,i; float x; scanf(%f%d,x,n); for(i=1;i=n;i++); //多了; sum=sum+power(x,i); printf(%d\n,sum); } int power(float x,int k) { int f=0,i; //0改为1 for(i=1;i=k;i++) f=f*x; return f; } 编程题-第1题 1.输入3个正整数(三角形的3条边),如果其中两条边相等,则输出“是等腰三角形”,否则输出“是一般三角形”。 #includestdio.h void main() { int a,b,c; //变量定义1分 scanf(%d%d%d,a,b,c); //输入1分 if(a==b || a==c || b==c) //条件1分 printf(是等腰三角形); //if-else结构正确2分 else printf(是一般三角形); //输出1分 } 编程题-第2题 2.输入一个正整数,判断该数是否“完数”(各因子之和等于本身的数)。 #includestdio.h void main() { int a,i,sum=0; scanf(%d,a); //变量定义,输入1分 for (i=1;i=a/2;i++) //循环4分 if(a%i==0) sum=sum+i; if (sum==a) printf(%d是完数\n,a); //输出1分 else printf(%d不是完数\n,a); } 编程题-第3题 3.编写函数fun(int x,int k),函数fun返回整数x的第k位数(从右往左)。在主函数调用fun函数,输出整数12345的第3位数字。 #includestdio.h int fun(int x,int k) //参数,函数类型1分 { int i; for(i=1;ik;i++) //循环2分 x=x/10; return x%10; //返回值1分 } void main() { printf(12345的第三位是%d\n,fun(12345,3)); //函数调用2分 } 编程题-第4题 4.有一张100元钞票,要换成100张5元、1元和5角的零钞,要求各种零钞至少1张。输出各种零钞组合。 #includestdio.h void main() { int i,j,k; for(i=1;i=100;i++) for(j=1;j=100;j++) { k=100-i-j; if(5*i+j+0.5*k==100) printf(i=%d\tj=%d\tk=%d\n,i,j,k); } } 或: #includestdio.h void main() { int i,j,k; for(i=1;i=100;i++) for(j=1;j=100;j++) for(k=1;k=100;k++) if(5*i+j+0.5*k==100 i+j+k==100) printf(i=%d\tj=%d\tk=%d\n,i,j,k); } 附件:课程教师 附件:课程FTP FTP地址:4 用户名: stu_linziyu 密码:123456 《C程序上机与实践》 厦门大学计算机科学系 林子雨 ziyulin@ * * 林

文档评论(0)

1亿VIP精品文档

相关文档