欢迎来到天天文库
浏览记录
ID:40259829
大小:39.50 KB
页数:5页
时间:2019-07-29
《C语言复习题 程序改错》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、【程序改错】:只允许修改错误代码,其他代码不允许修改!--------------------------------------------------------功能:判断m是否为素数,若是返回1,否则返回0。------------------------------------------------------*/#include"stdio.h"/**********ERROR**********/intfun(intn){inti,k=1;if(m<=1)k=0;/**********ERROR**********/for(i=1;i2、**ERROR**********/if(m%i=0)k=0;/**********ERROR**********/returnm;}voidmain(){intm,k=0;for(m=1;m<100;m++)if(fun(m)==1){printf("%4d",m);k++;if(k%5==0)printf("");}}答【参考答案】intfun(intm)fun(intm)============================================================【改错2】错误【学生答案】for(i=1;i3、2;ii;i++)for(i=2;i<=m-1;i++)for(i=2;m-1=>i;i++)============================================================【改错3】错误【学生答案】if(m%i=0)k=0;【参考答案】if(m%i==0)k=0;============================================================【改错4】错误【学生答案】returnm;【参考答案】returnk;return(k);2【程序改错】:只允许修改错误代码,4、其他代码不允许修改!--------------------------------------------------------功能:利用递归方法求5!。------------------------------------------------------*/#include"stdio.h"#include"stdio.h"intfact(intj){intsum;/**********ERROR**********/if(j=0)/**********ERROR**********/sum=0;elsesum=j*fact(j-1);/**********ERROR5、**********/returnj;}voidmain(){inti;printf("5!=%d",fact(5));}答【参考答案】if(j==0)============================================================【改错2】错误【学生答案】sum=0;【参考答案】sum=1;============================================================【改错3】错误【学生答案】returnj;【参考答案】returnsum;3程序改错】:只允许修改错误代码,其他代码不允许修改!6、--------------------------------------------------------功能:求1到10的阶乘的和。------------------------------------------------------*/#include"stdio.h"voidmain(){inti;floatt,s=0;floatfac(intn);for(i=1;i<=10;i++)/**********ERROR**********/s=fac(i);printf("%f",s);}floatfac(intn){/**********ERROR*****7、*****/inty=1;inti;for(i=1;i<=n;i++)y=y*i;/**********ERROR**********/return;}答【参考答案】s=s+fac(i);s+=fac(i);s=fac(i)+s;============================================================【改错2】错误【学生答案】inty=1;【参考答案】floaty=1.0;floaty=1;longy=1;longinty=1;==
2、**ERROR**********/if(m%i=0)k=0;/**********ERROR**********/returnm;}voidmain(){intm,k=0;for(m=1;m<100;m++)if(fun(m)==1){printf("%4d",m);k++;if(k%5==0)printf("");}}答【参考答案】intfun(intm)fun(intm)============================================================【改错2】错误【学生答案】for(i=1;i3、2;ii;i++)for(i=2;i<=m-1;i++)for(i=2;m-1=>i;i++)============================================================【改错3】错误【学生答案】if(m%i=0)k=0;【参考答案】if(m%i==0)k=0;============================================================【改错4】错误【学生答案】returnm;【参考答案】returnk;return(k);2【程序改错】:只允许修改错误代码,4、其他代码不允许修改!--------------------------------------------------------功能:利用递归方法求5!。------------------------------------------------------*/#include"stdio.h"#include"stdio.h"intfact(intj){intsum;/**********ERROR**********/if(j=0)/**********ERROR**********/sum=0;elsesum=j*fact(j-1);/**********ERROR5、**********/returnj;}voidmain(){inti;printf("5!=%d",fact(5));}答【参考答案】if(j==0)============================================================【改错2】错误【学生答案】sum=0;【参考答案】sum=1;============================================================【改错3】错误【学生答案】returnj;【参考答案】returnsum;3程序改错】:只允许修改错误代码,其他代码不允许修改!6、--------------------------------------------------------功能:求1到10的阶乘的和。------------------------------------------------------*/#include"stdio.h"voidmain(){inti;floatt,s=0;floatfac(intn);for(i=1;i<=10;i++)/**********ERROR**********/s=fac(i);printf("%f",s);}floatfac(intn){/**********ERROR*****7、*****/inty=1;inti;for(i=1;i<=n;i++)y=y*i;/**********ERROR**********/return;}答【参考答案】s=s+fac(i);s+=fac(i);s=fac(i)+s;============================================================【改错2】错误【学生答案】inty=1;【参考答案】floaty=1.0;floaty=1;longy=1;longinty=1;==
3、2;ii;i++)for(i=2;i<=m-1;i++)for(i=2;m-1=>i;i++)============================================================【改错3】错误【学生答案】if(m%i=0)k=0;【参考答案】if(m%i==0)k=0;============================================================【改错4】错误【学生答案】returnm;【参考答案】returnk;return(k);2【程序改错】:只允许修改错误代码,
4、其他代码不允许修改!--------------------------------------------------------功能:利用递归方法求5!。------------------------------------------------------*/#include"stdio.h"#include"stdio.h"intfact(intj){intsum;/**********ERROR**********/if(j=0)/**********ERROR**********/sum=0;elsesum=j*fact(j-1);/**********ERROR
5、**********/returnj;}voidmain(){inti;printf("5!=%d",fact(5));}答【参考答案】if(j==0)============================================================【改错2】错误【学生答案】sum=0;【参考答案】sum=1;============================================================【改错3】错误【学生答案】returnj;【参考答案】returnsum;3程序改错】:只允许修改错误代码,其他代码不允许修改!
6、--------------------------------------------------------功能:求1到10的阶乘的和。------------------------------------------------------*/#include"stdio.h"voidmain(){inti;floatt,s=0;floatfac(intn);for(i=1;i<=10;i++)/**********ERROR**********/s=fac(i);printf("%f",s);}floatfac(intn){/**********ERROR*****
7、*****/inty=1;inti;for(i=1;i<=n;i++)y=y*i;/**********ERROR**********/return;}答【参考答案】s=s+fac(i);s+=fac(i);s=fac(i)+s;============================================================【改错2】错误【学生答案】inty=1;【参考答案】floaty=1.0;floaty=1;longy=1;longinty=1;==
此文档下载收益归作者所有