文档详情

c语言程序调试.doc

发布:2016-05-19约5.88千字共7页下载文档
文本预览下载声明
程序调试题 文件中“/***** N ***** /”的下一行中有错误,请改正…文件中____ N ____是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。 1.  该程序功能:运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、5、7、11)。 #include stdio.h void main() { int n,i; scanf(%d,n); /****** 1 ******/ i=1; while(n1) if(n%i==0) { printf(%d\t,i); n/=i; } else /******** 2 *******/ n--; } 2. 该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出,如‘a’变成‘f’,‘w’变成‘b’。 #include stdio.h void main() { char c; c=getchar(); if(______1______) c=c+5; else if (c=v c=z) ______2______ putchar(c); } 3. 该程序功能:调用函数f用以求1元2次方程 x*x+5*x-2=0 的实根。 #include stdio.h #include math.h int f(float a,float b,float c,float *x1,float *x2) { if(b*b-4*a*c0) return 1; *x1=(-b+sqrt(b*b-4*a*c))/2/a; *x2=(-b-sqrt(b*b-4*a*c))/2/a; ______1______ } void main() { float u1,u2; float a=1,b=5,c=-2; if( ________2_________ ) printf(实数范围内无解\n); else printf(%.2f %.2f\n,u1,u2); } 4. 该程序功能:调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x,当x=1.7时的值。 #include stdio.h float f(float,float*,int); void main() { float b[5]={1.1,2.2,3.3,4.4,5.5}; printf(%f\n,f(1.7,b,5)); } float f( _______1________ ) { float y=a[0],t=1; int i; for(i=1;in;i++) { t=t*x; y=y+a[i]*t; } _____2_____ } 5. 该程序功能:运行时输入n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。 #include stdio.h #include math.h void main() { int n,s=0; scanf(%d,n); n=fabs(n); /******** 1 *******/ while(n1){ s=s+n%10; /******** 2 ******/ n=n%10; } printf(%d\n,s); } 7.  该程序功能:调用函数f,将1个整数首尾倒置,若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。 #include stdio.h #include math.h long f(long n) { long m,y=0; m=fabs(n); while(m!=0){ y=y*10+m%10; ____1____ } if(n=0) return y; else _____2_____ } void main(){ printf(%ld\t,f(12345)); printf(%ld\n,f(-34567)); } 8. 该程序功能:输入整数n(n0),求m使得 2的m次方小于或等于n、2的m+1次方大于或等于n。 #include stdio.h void main() { int m=0,t=1,n; while( _____ 1 ________); while(!(t=nt*2=n)){ _____ 2 _____ m++; } printf(%d\n,m); } 9. 该程序功能:运行
显示全部
相似文档