欢迎来到天天文库
浏览记录
ID:56280711
大小:231.00 KB
页数:22页
时间:2020-06-05
《计算机2级c语言程序改错题汇总.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、三、程序改错共2题(共计20分)第1题(10分)题号:402功能:编写函数fun求20以内所有5的倍数之积。#defineN20#include"stdio.h"main(){intsum;sum=fun(5);printf("%d以内所有%d的倍数之积为:%d",N,5,sum);}intfun(intm){/**********FOUND**********/ints=0,i;for(i=1;i2、******FOUND**********/s=*i;returns;}答案:1).int★s=1★,★i★;2).if(i%m==0)3).s=s*i或s=i*s或s*=i第2题(10分)题号:400功能:输入两个实数,按代数值由小到大输出它们,并在fun()函数中输出。(输出的数据都保留2位小数)#include"stdio.h"main(){fun();}fun(floata,floatb){/**********FOUND**********/floattscanf("%f%f",&a,&3、b);/**********FOUND**********/if(ab)3).printf(″%5.2f,%5.2f″,a,b);功能:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y=7.936238。#include#include/******4、****FOUND**********/doublefun(double*a,*b){doublec;/**********FOUND**********/c=sqr(a)+sqr(b);/**********FOUND**********/returna;}main(){doublea,b,y;printf("Entera&b:");scanf("%lf%lf",&a,&b);y=fun(&a,&b);printf("y=%f",y);}答案:1).doublefun(double*a,do5、uble*b)2).c=sqrt(*a)+sqrt(*b);或c=sqrt(*b)+sqrt(*a);3).returnc;或return(c);或returnsqrt(*b)+sqrt(*a);或returnsqrt(*a)+sqrt(...第2题(10分)题号:410功能:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。再将新生成数据的第一位和第四位交换,第二位和第三位交换。:输入一个四位整数1234,则结果6、为:9876。#include"stdio.h"main(){inta,i,aa[4],t;printf("输入一个四位整数:");/**********FOUND**********/scanf("%d",a);aa[0]=a%10;/**********FOUND**********/aa[1]=a%100%10;aa[2]=a%1000/100;aa[3]=a/1000;/**********FOUND**********/for(i=0;i<3;i++){aa[i]+=5;aa[i]%=17、0;}for(i=0;i<=3/2;i++){t=aa[i];aa[i]=aa[3-i];aa[3-i]=t;}for(i=3;i>=0;i--)printf("%d",aa[i]);}答案:1).scanf(″%d″,&a);2).aa[1]=a%100/10;3).for(i=0;i<=3;i++)或for(i=0;i<4;i++)第1题(10分)题号:15功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。fun(){int8、i;floatf1=1,f2=1,f3;/**********FOUND**********//**********FOUND**********/for(i=1;i<=20;i++){f3=f1+f2;/**********FOUND**********/f2=f1;/**********FOUND**********/f3=f2;printf("%8.0f",f1);}printf("");}main(){fun();}案:1).printf(″%8.0f″,f1);或pr
2、******FOUND**********/s=*i;returns;}答案:1).int★s=1★,★i★;2).if(i%m==0)3).s=s*i或s=i*s或s*=i第2题(10分)题号:400功能:输入两个实数,按代数值由小到大输出它们,并在fun()函数中输出。(输出的数据都保留2位小数)#include"stdio.h"main(){fun();}fun(floata,floatb){/**********FOUND**********/floattscanf("%f%f",&a,&
3、b);/**********FOUND**********/if(ab)3).printf(″%5.2f,%5.2f″,a,b);功能:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果是:y=7.936238。#include#include/******
4、****FOUND**********/doublefun(double*a,*b){doublec;/**********FOUND**********/c=sqr(a)+sqr(b);/**********FOUND**********/returna;}main(){doublea,b,y;printf("Entera&b:");scanf("%lf%lf",&a,&b);y=fun(&a,&b);printf("y=%f",y);}答案:1).doublefun(double*a,do
5、uble*b)2).c=sqrt(*a)+sqrt(*b);或c=sqrt(*b)+sqrt(*a);3).returnc;或return(c);或returnsqrt(*b)+sqrt(*a);或returnsqrt(*a)+sqrt(...第2题(10分)题号:410功能:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。再将新生成数据的第一位和第四位交换,第二位和第三位交换。:输入一个四位整数1234,则结果
6、为:9876。#include"stdio.h"main(){inta,i,aa[4],t;printf("输入一个四位整数:");/**********FOUND**********/scanf("%d",a);aa[0]=a%10;/**********FOUND**********/aa[1]=a%100%10;aa[2]=a%1000/100;aa[3]=a/1000;/**********FOUND**********/for(i=0;i<3;i++){aa[i]+=5;aa[i]%=1
7、0;}for(i=0;i<=3/2;i++){t=aa[i];aa[i]=aa[3-i];aa[3-i]=t;}for(i=3;i>=0;i--)printf("%d",aa[i]);}答案:1).scanf(″%d″,&a);2).aa[1]=a%100/10;3).for(i=0;i<=3;i++)或for(i=0;i<4;i++)第1题(10分)题号:15功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。fun(){int
8、i;floatf1=1,f2=1,f3;/**********FOUND**********//**********FOUND**********/for(i=1;i<=20;i++){f3=f1+f2;/**********FOUND**********/f2=f1;/**********FOUND**********/f3=f2;printf("%8.0f",f1);}printf("");}main(){fun();}案:1).printf(″%8.0f″,f1);或pr
此文档下载收益归作者所有