大学计算机C语言程序设计(程序改错).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《大学计算机C语言程序设计(程序改错).docx》由会员分享,可在线阅读,更多相关《大学计算机C语言程序设计(程序改错).docx(133页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、程序改错共137题第1题题号:15【程序改错】功能:根据整型形参m的值,计算如下公式的值。1 112x23x3mxm例如:若m=5,则应输出:0.536389*/#include double fun(int m)(double y=l.0;int i;/*FOUND*/for (i=2;im;i-)/*found*/ y-=l/(i*i);/*found*/return m;)main ()(int n=5;printf(*nthe result is %lfn*, fun(n);答案:1) . for(i=2; i=i; i+)或 for(i=2;im+l; i+)或 for(i=2;
2、ii;i+)或 for(i=2;l+mi;i+)2) . y-=l.0/(i*i);或 y=y-1.0/(i*i);或 y-=l.0/(float)(i*i);或 y=y-1.0/(float)(i*i);或 y=y-l.0/i/i;或 y=y-l.0/(float) i/(float) i;或 y=y-l/(double)(i*i);或 y-=l/(double)(i*i);3) . return y;或 return (y);或 return(y);第2题题号:362/*【程序改错】功能:删除字符串S中的所有空白字符(包括Tab字符、回车符及换行符)。输入字符串时用#结束输入。*/#inc
3、lude #include #include fun ( char *p)(int i, t; char c80;/*found*/for (i =1, t =0; pi; i+)/*found*/if(!isspace(p+i) ct+=pi;/*found*/ct二o;strcpy (p, c);main()(char c, s80;int i=0;printf(input a string:*);c=getchar();while(c!=,#)(si=c;i+;c=getchar();si=0*;fun (s);puts(s);答案:1) . for (i =0, t =0; pi; i
4、+)2) . if(!isspace(*(p+i) ct+=pi;3) . ct=0*;第3题题号:251【程序改错】功能:用起泡法对连续输入的十个字符排序后按从小到大的次序输出.#include #include define N 10 sort(char strN)int i, j; char t; for(j=l; jN; j+)for(i=0;iN-j;i-)/*found*/ if(stristri+l)(t=stri;stri=stri+l;stri+l=t;main()(int i;char strN;for(i=0;iN;i+)/*FOUND*/ scanf (*%c*, st
5、ri);/*found*/ sort(strN);for(i=0;iN;i+)printfstri);printf(n);答案:1) . for(i=0;istri+l)或 if(stri+lstri)3) . scanf(*%c*,&stri):4) . sort (str);第4题题号:437【程序改错】功能:输入字符序列,字符序列以特殊字符“中结束。程序从前向后依次读入字符,并翻译出新的字符输出。翻译的规则是:如果当前读入的字符是数字符,如果该字符的面值为n,则它的后一个字符(包括数字符)需重复输出n+1次如果当前读入的字符不是数字符,则输出该字符。输出时,以上述一次翻译为一组,不同组间
6、输出用一个空白字符隔开。翻译直至当前读入的字符为字符,结束翻译和输出。*/#includevoid main()(char ch,nch;int count;int k;printf(*Enter string.n);scanf(*%c*,&ch);/*found*/while(ch=,#)(if (ch= O&ch=9)(/*found*/count二ch,O-1;scanf&nch);for(k=0;kcount;k+) printfnch);else/*found*/printf ch);printf(*);scanf &ch);printf (*#n*);)答案:1) . while(
7、ch!=,#)2) . count=ch,O+1;3) . printf (*%c*, ch);第5题题号:390/*【程序改错】功能:输入一个字符串,过滤此串,滤掉字母字符,并统计新生成串中包含的字符个数。例如:输入的字符串为ab234$df4,则输出为:The new string is 234$4There are 5 char in the new string.。*/#include #include define N 80int fun(char *ptr)(int i, j;/*found*/for(i=0, j=O;*(ptr+i)!=*0*;i+)/*found*/if (*
8、(ptr+i) z*|*(ptr+i) a*|*(ptr+i)* Z*|*(ptr+i),z,11*(ptr+i),a (ptr+i)/ Z*113) .*(ptr+j)=*(ptr+i);第6题题号:396【程序改错】功能:将整型数组中所有小于0的元素放到所有大于0的元素的前面(要求只能扫描数组一次)。#includedefine Max 100void fun(int a, int n)(/*FOUND*/int i=5;j=n-l, temp;while(ij)(whi le (ai=0)/*FOUND*/ j+;/*found*/if(ij)(temp=ai;ai=aj;aj=temp
9、;void main ()(static a=l,-3,-1,3,2,4,-4,5,-5,-2), n=10, i;fun (a, n);for(i=0;i10;i+)printf (*%d *, ai);答案:1) . int i=0, j=n-l , temp ;2) . j;3) . if(ij)第7题题号:5/*【程序改错】功能:求如下表达式:111S =1+1+21+2+31+2+3+n#include main()(int n;double fun();printf(Please input a number:);/*FOUND*/print(*%d*,n);printf (*%1
10、0.6fn”, fun(n);)/*FOUND*/fun(int n)int i, j, t;double s;s=0;/*found*/while(i=l;i=n;i+);(t=0;for(j=l;j=i;j+)t=t+j;/*found*/=s+l/t;return s;)答案:1) . scanf (%d,&n);2) . double fun(int n)3) . for(i=l;i=i;i+)或 for(i=l;ii;i+)4) . s+=l.0/t;或 s= s +1.0/(float) t;或 s= s +1.0/t;或 s+=l.0/(float) t;或 s+=l.0/(do
11、uble) t;或 s= s +1.0/(double) t;第8题题号:387/*【程序改错】功能:判断字符ch是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。*/#include include #include /*found*/void fun(char str, char ch )(while (*str &*str != ch )str+;/*F0UND*/if (*str = ch )str 0= ch;/*FOUND*/ strl=O;main()(char s81, c ;printf(nPlease enter a string:n);g
12、ets ( s );printf (n Please enter the character to search :);c = getchar ();fun(s, c);printf(nThe result is %sn*, s);答案:1) . void fun(char *str, char ch )2) . if (*str =0)3) . strl=0;第9题题号:401/*【程序改错】功能:编写函数fun计算下列分段函数的值: x*x+x x0且 x#-3f (x)= x*x+5x0Wx10且 xW2及 xW3x*x+x-l 其它*/#include double fun(float
13、 x)(/*FOUND*/ double y/*FOUND*/ if (x=0& x10.0& x!=2.0& x!=3.0) y=x*x+5*x;elsey=x*x+x-l;/*F0UND*/return x;main()(double f;float x;printf(input x=);scanf(%f,&x);f=fun(x);printf (x二%f, f (x)=%fn”, x, f);答案:1) . float y;2) . if (x0& x!=-3.0)3) . return y;第10题题号:435/*【程序改错】功能:输入 n,计算 s=l+l+2+l+2+3+l+2+3
14、+4+.+1+2+3+4+.+n#include void main ()/*F0UND*/ int i, s;p, n;printf(Enter n:rT);/*FOUND*/ scanf n);/*FOUND*/ for(s=p=0, i=l;in;i+)s+=p+=i;printf(*S=%dn”,s);答案:1) . int i, s, p, n;2) . scanf (*%d*,&n);3) . for(s=p=0, i=l;i=n;i+)第11题题号:426/*【程序改错】功能:809*?=800*?+9*?+1其中??代表的两位数,8*?的结果为两位数,9*?的结果为3位数。求?
15、代表的两位数,及809*?后的结果。*/#include output (long b, long i)(printf(*n%ld=800*%ld+9*%ld+ln, b, i, i);printf (?代表的两位数:%d”, i);printf (n809*?后的结果:d”, b);getchO ;main ()(/*found*/ long int a;b;i;a=809;/*FOUND*/ for(i=10;i=l000&b=l0000&8*i=100) output (b, i);答案:1) . long int a , b , i ;2) . for(i=10;i100;i+)或 f
16、or(i=10;i=99;i+)3) . b= i*a +1;或 b= a*i +1;第12题题号:380/*【程序改错】功能:输入两个双精度数,函数返回它们的平方和的平方根值。例如:输入:22.936和14.121,输出为:y =26.934415o8include #include #include /*FOUND*/ double fun (double *a,*b)(double c;/*FOUND*/ c = sqr(a*a + b*b);/*EOUND*/ return *c;?main ()(double a, b, y;printf (* Enter a, b :;scanf&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 语言程序设计 程序 改错
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内