ImageVerifierCode 换一换
格式:DOC , 页数:160 ,大小:152.07KB ,
资源ID:8591780      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8591780.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序改错大全.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

C语言程序改错大全.doc

1、试卷编号:10194所属语言:Turbo C试卷方案:cxgc试卷总分:1380 分共有题型:1 种一、程序改错 共 138 题 (共计 1380 分)第 1 题 (10.0 分)/*- 【程序改错】-功能:根据整型形参 m,计算如下公式的值:y=11/31/5 1/7.1/(2m-3)-*/#include “stdio.h“double fun(int m) /*FOUND*/double y=1int i;/*FOUND*/for(i=3; i#define N 20 void fun(int a, int n)int i, j, t, p;for (j = 0 ;j ap)/*FOUN

2、D*/p=j;t = ap ; ap = aj ; aj = t;main()int aN=9,6,8,3,-1,i, m = 5;printf(“排序前的数据:“) ;for(i = 0;i ai)3). p = i;第 3 题 (10.0 分)/*- 【程序改错】-功能:编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。-*/#include #include void main()char str100,*p,*q,*r,c;printf(“输入字符串:“);gets(str);/*FOUND*/for(p=str;p;p+)for(q=r=p;*q

3、;q+)if(*r*q)r=q;/*FOUND*/if(r=p)/*FOUND*/c=r;*r=*p;*p=c;for(p=str;*p;p+)for(q=p;*p=*q;q+);strcpy(p+1,q);printf(“结果字符串:%snn“,str);getch();答案:1). for(p=str;*p;p+)2). if(r!=p)3). c=*r;第 4 题 (10.0 分)/*- 【程序改错】-功能:编写程序, 求矩阵(3 行 3 列)与 5的乘积例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 500 1000 1500

4、2000 2500 30003500 4000 4500-*/#include “stdio.h“int fun(int array33) /*FOUND*/ int i;j;/*FOUND*/ for(i=1; i #include main( )int i; char strN;/*FOUND*/for(i=0;istri+1) 或 if(stri+1max)max=*c;/*FOUND*/b=c-a;return max;void main(void)int aN,i,max,p=0;printf(“please enter 10 integers:n“);for(i=0;i*max)

5、或 if(*maxi;i+) 或 for(p=arr;p=i;i+) 或 for(p=arr;p=p;)第 9 题 (10.0 分)/*- 【程序改错】-功能:求两个形参的乘积和商数,并通过形参返回调用程序。例如:输入:61.82 和 12.65,输出为:c = 782.023000 d = 4.886957-*/#include #include /*FOUND*/void fun ( double a, b, double *x, double *y )/*FOUND*/x = a * b;/*FOUND*/y = a / b; main ( )double a, b, c, d;clrs

6、cr( );printf ( “Enter a , b : “);scanf ( “%lf%lf“, fun ( a , b, printf (“ c = %f d = %fn “, c, d );getch();答案:1). void fun ( double a, double b, double *x, double *y )2). *x = a * b;3). *y = a / b;第 10 题 (10.0 分)/*- 【程序改错】-功能:写计算级数 ex=1+x+x2/2!+x3/3!+ .+xn/n! 的值。-*/#include“stdio.h“main()int m,n;flo

7、at x,term,ex1,ex2;printf(“x,m=“);scanf(“%f %d“,/*FOUND*/ex1=ex2=1;term=1;for(n=1;n1; n-)term*=n/x;ex2+=term;printf(“exforward=%f exbackrard=%fn“,ex1,ex2);getch();答案:1). ex1=ex2=1;2). term*=x/n;3). for (n=m;n=1; n-)第 11 题 (10.0 分)/*- 【程序改错】-功能:编制统计营业员一天的营业额的程序,设程序采用一个循环实现,每次循环输入一笔交易金额并累计营业额。由于营业员一天完成

8、的交易次数是不确定的,为此以最后附加输入一笔 0 或负数交易额作为交易金额已全部输入结束的标志。有以下统计营业员一天营业额的算法:统计营业员一天营业额营业额清 0;输入第一笔交易额;while(交易额0.0)累计营业额;输入下一笔交易额;输出营业额;记一笔交易额为变量 sale,营业额为sigma。-*/#includevoid main()/*FOUND*/float sale,sigmasigma=0.0;printf(“Enter sale data.n“);/*FOUND*/scanf(“%f“,sale);while(sale0.0)/*FOUND*/sigma+=sale;prin

9、tf(“Enter next sale data(#include /*FOUND*/int fun ( int n )float A=1; int i;/*FOUND*/for (i=2; i#include #include /*FOUND*/fun( char a, char b, char c )while ( *a c+;a+;*c = *b; c+; b+;if( *a = 0 )/*FOUND*/while( *b ) *c = *b; c+; b+; else/*FOUND*/while( *a ) *c = *a; c+; a+; *c = 0;main()char s110

10、0, s2100, t200;clrscr();printf(“nEnter s1 string : “);scanf(“%s“,s1);printf(“nEnter s2 string : “);scanf(“%s“,s2);fun( s1, s2, t );printf(“nThe result is : %sn“, t );答案:1). void fun( char *a, char *b, char *c ) 或 fun( char *a, char *b, char *c )2). while( *b ) *c = *b; c+; b+; 3). while( *a ) *c = *

11、a; c+; a+; 第 15 题 (10.0 分)/*- 【程序改错】-功能:以下程序能求出1*1+2*2+n*n1000)+n;s+=n*n;/*FOUND*/printf(“n=%dn“,getch();答案:1). s=n=0;2). while(s/*FOUND*/swap( int *p1,*p2)int p;p=*p1;*p1=*p2;*p2=p;void main(void)int a,b, *p,*q;printf(“input a,b:“);/*FOUND*/scanf(“%d%d“,a,b);p=q=if(a50);/*FOUND*/for(i=0;i50); 或 whi

12、le(a50|a#include long fun ( int n )long a=1, b=1, c=1, d=1, k;/*FOUND*/for (k=4; k#include void fun (long s, long *t) int d;long sl=1;/*FOUND*/t = 0;while ( s 0) d = s%10;/*FOUND*/if (d%2 = 0)*t = d * sl + *t;sl *= 10;/*FOUND*/s = 10;main() long s, t;clrscr();printf(“nPlease enter s:“); scanf(“%ld“,

13、 fun(s, printf(“The result is: %ldn“, t);getch();答案:1). *t = 0;2). if(d%2) 或 if(d%2!=0) 或 if(d%2)!=0)3). s /= 10; 或 s=s/10第 21 题 (10.0 分)/*- 【程序改错】-功能:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5-*/#include “stdio.h“main()int n,i;printf(“nplease input a number:n“);scanf(“%d“,printf(“%d=“,n);for(i=2;i#include

14、 #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=“0“; 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+)2). if(!i

15、sspace(*(p+i) ct+=pi;3). ct=0;第 23 题 (10.0 分)/*- 【程序改错】-功能:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3 报数) ,凡报到 3 的人退出圈子,问最后留下的是原来第几号的那位。-*/#include“stdio.h“#define nmax 50main()int i,k,m,n,numnmax,*p;printf(“please input the total of numbers:“);scanf(“%d“,/*FOUND*/p=num;for(i=0;in-1)if(*(p+i)!=0) k+;/*FOUND*/

16、if(k!=3)*(p+i)=0;k=0;m+;i+;if(i=n) i=0;while(*p=0) p+;printf(“%d is leftn“,*p);getch();答案:1). p=num;2). while(m#include #include /*FOUND*/double fun (double *a, *b)double c;/*FOUND*/c = sqr(a*a + b*b);/*FOUND*/return *c; main ( )double a, b, y;clrscr( );printf ( “Enter a, b : “);scanf (“%lf%lf“, y =

17、 fun (printf (“y = %f n“, y );答案:1). double fun (double *a, double *b)2). c = sqrt(*a * *a + *b * *b);3). return c;第 25 题 (10.0 分)/*- 【程序改错】-功能:利用条件运算符的嵌套来完成此题:学习成绩=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示。-*/#include “stdio.h“main()int score;/*FOUND*/char *grade;printf(“please input a scoren“);

18、/*FOUND*/scanf(“%d“,score);/*FOUND*/grade=score=90?A;(score=60?B:C);printf(“%d belongs to %c“,score,grade);答案:1). char grade;2). scanf(“%d“,3). grade=score=90?A:(score=60?B:C);第 26 题 (10.0 分)/*- 【程序改错】-功能:将八进制转数的字符串换为十进制数。如输入“127” ,结果为 87-*/#include “stdio.h“void main(void)/*FOUND*/char p,s6;int n;p

19、=s;gets(p);/*FOUND*/n=0;/*FOUND*/while(*p=0)n=n*8+*p-0;p+;printf(“%d“,n);getch();答案:1). char *p,s6;2). n=0;3). while(*p!=0) 或 while(*p) 或 while(*p!=0)第 27 题 (10.0 分)/*- 【程序改错】-功能:下题是一段有关结构体变量传递的程序.-*/#include “stdio.h“struct studentint x;char c; a;main()a.x=3;/*FOUND*/a.c=af(a);/*FOUND*/printf(“%d,%

20、c“,a.x,b.c);getch();f(struct student b)b.x=20;/*FOUND*/b.c=y;答案:1). a.c=a;2). printf(“%d,%c“,a.x,a.c);3). b.c=y;第 28 题 (10.0 分)/*- 【程序改错】-功能:编写函数 fun 计算下列分段函数的值:x*20 x#include “stdio.h“float fun(float x)/*FOUND*/float y/*FOUND*/if (x=0 i#include #define N 80main()char strN;int s;clrscr();printf(“inp

21、ut a string:“);gets(str);printf(“The original string is :“); puts(str);s=fun(str);printf(“The new string is :“);puts(str);printf(“There are %d char in the new string.“,s);getch();fun(char *ptr)int i,j;/*FOUND*/for(i=0,j=0;*(ptr+i)!=“0“;i+)/*FOUND*/if(*(ptr+i)z| *(ptr+i)Z | *(ptr+i)z | *(ptr+i)Z | *(

22、ptr+i)=aint fact();printf(“5!=%dn“,fact(5);int fact(j)int j;int sum;/*FOUND*/if(j=0)/*FOUND*/sum=0;elsesum=j*fact(j-1);/*FOUND*/return j;答案:1). if(j=0)2). sum=1;3). return sum;第 33 题 (10.0 分)/*- 【程序改错】-功能:求 100 以内(包括 100)的偶数之和.-*/#include “stdio.h“main()/*FOUND*/int i,sum=1;/*FOUND*/for(i=2;i#includ

23、e #define N 20 int fun ( int * a, int n )int k,m1,m2,max1,max2,t;max1=max2= -32768; m1=m2=0;for ( k = 0; k max1 )max2 = max1; m2 = m1;max1 = ak; m1 = k;/*FOUND*/else if( akmax1 ) max2 = ak; m2 = k; /*FOUND*/t = a0;am1=a0; am1 = t;/*FOUND*/t = a1; am2=a1; am2 = t;main( ) int x, bN=7,10,12,0,3,6,9,11,

24、5,8, n=10, i;clrscr( );for ( i = 0; imax2 )2). t = a0; a0=am1; am1 = t;3). t = a1; a1=am2; am2 = t;第 35 题 (10.0 分)/*- 【程序改错】-功能:用指针作函数参数,编程序求一维数组中的最大和最小的元素值.-*/#define N 10/*FOUND*/void maxmin(int arr ,int *pt1, *pt2, n)int i;/*FOUND*/*pt1=*pt2=for(i=1;i*pt1) *pt1=arri; 或 if(*(arr+i)*pt1) *pt1=arri;

25、 或 if(*pt1main()long int i,x,y,z;/*FOUND*/for (i=1;i n-1 );return i;main( ) int n, d, aNUM=21,22,23,24,25,26,27,28,29,30;n = NUM;clrscr();printf (“Output primary data :n“); arrout ( a, n );d = getindex( n ); n = arrdel ( a, n, d );printf (“Output the data after delete :n“); arrout( a, n );答案:1). arr

26、out ( int *w, int m )2). for (k = 0; k #include #include void fun (char *s)/*FOUND*/while(*s!=“0“)if(*s=A int i,j,z;clrscr();for(i=0;idouble fun(int s)double sum=0.0;int c=0,i=0;/*FOUND*/while(si =0)if (si0)sum+=si;c+;i+;/*FOUND*/sum=c;/*FOUND*/return c;void main(void)int x1000;int i=0;doscanf(“%d“,

27、while(xi+!=0);printf(“%fn“,fun(x);答案:1). while( si != 0 ) 或 while(!si=0) 或 while(!0=si) 或 while(si)2). sum/=c; 或 sum=sum/c;3). return sum; 或 return (sum);第 42 题 (10.0 分)/*- 【程序改错】-功能:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。-*/#include “stdio.h“#include main()int len;/*FOUND*/char *str20;printf(“pleas

28、e input a string:n“);scanf(“%s“,str);/*FOUND*/len=length(str);printf(“the string has %d characters.“,len);getch();int length(p)char *p;int n;n=0;/*FOUND*/while(*p=0)n+;p+;return n;答案:1). char str20;2). len=length(str);3). while(*p!=0) 或 while(*p) 或 while(*p!=0) 或 while(*p!=NULL)第 43 题 (10.0 分)/*- 【程

29、序改错】-功能:分别统计字符串中大写字母和小写字母的个数。例如:给字符串 s 输入:AAaaBBb123CCccccd,则应输出结果:upper = 6, lower = 8。-*/#include #include /*FOUND*/void fun ( char *s, int a, int b )while ( *s )if ( *s = A char ch;i = 0;j = strlen(b)-1;/*FOUND*/while ( i j )ch = bi;bi = bj;bj = ch;i+; j-;/*FOUND*/while ( *a c+;/*FOUND*/a+;if ( *

30、b )*c = *b;c+;b+;*c = 0;main()char s1100,s2100,t200;clrscr();printf(“nEnter s1 string : “);scanf(“%s“,s1);printf(“nEnter s2 string : “);scanf(“%s“,s2);fun( s1, s2, t );printf(“nThe result is : %sn“, t );答案:1). while(i#include #include char * fun (char *s, char *t )char *p , *r, *a;/*FOUND*/a = NULL;

31、while ( *s ) p = s; r = t;while ( *r )/*FOUND*/if ( r = p ) r+; p+; else break;/*FOUND*/if ( *r =0 ) a = s;s+;return a ;main()char s100, t100, *p;clrscr();printf(“nPlease enter string S :“); scanf(“%s“, s );printf(“nPlease enter substring t :“); scanf(“%s“, t );p = fun( s, t );if ( p ) printf(“nThe

32、result is : %sn“, p);elseprintf(“nNot found !n“ );答案:1). a = NULL;2). if ( *r = *p ) r+; p+; 3). if ( *r = 0 ) a = s;第 47 题 (10.0 分)/*- 【程序改错】-功能:求出数组中最大数和次最大数,并把最大数和 a0中的数对调、次最大数和 a1中的数对调。-*/#include #include #define N 20int fun ( int * a, int n ) int i, m, t, k ;for(i=0;iam) k=m;t=ai;ai=am;am=t; m

33、ain( )int x, bN=11,5,12,0,3,6,9,7,10,8, n=10, i;clrscr( );for ( i=0; iam) m=k;第 48 题 (10.0 分)/*- 【程序改错】-功能:从键盘输入十个学生的成绩,统计最高分,最低分和平均分。max 代表最高分,min 代表最低分,avg 代表平均分。-*/#include void main( void)int i;float a10,min,max,avg;printf(“input 10 score:“);for(i=0;iai) 或 if (ai=ai) 或 if (ai#include void fun (long s, long *t) int d;long sl=1;*t = 0;while ( s 0)d = s%10;/*FOUND*/if(d%2=0)/*FOUND*/*t=d* sl+ t;sl *= 10;/

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报