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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序改错基本题库.docx

1、C语言程序改错基本题库北京石油化工学院 12级复习题程序改错一、下面每个程序的划线处有语法或逻辑错误 ,请找出并改正,使其得到符合题意的执行结果。1 .求 1234nmai n() long int sum;int n,i=1;scan f(%d, n);printf( n ”while(i n) sum=sum*i;i+;prin tf(sum=%d,sum);2.求一个数组中最大值及其下标。mai n() int max,j,m;int a5;for(j=1;j=5;j+)scanf( %d ”,a);max=a0;for(j=1;jaj) max=aj; m=j;pri *3、求 3+4

2、int a=3,b=4;main () int a,c;c=a+b;printf( C=%d ”4.用一个函数求两个数之与。sum(x,y) float z;z=x+y;return;main () float a,b;int c;sca nf(%f,%f,&a,&b);c=sum(a,b);prin tf(nSum is %f,sum);5用指针作函数参数,对输入的两个整数按大小顺序输出。s *p1,*p2) int *p;*p=*p1;*p1=*p2;*p2=*p;main () int a,b;int *q1,*q2;scan f(%d,%d,&a,&b);&q仁a, &q2=b;if(

3、ab) swap(*q1,*q2);prin tf(n%d,%dn,q1,q2);前五题答案:1、 sum应初始化即加入sum=1第四行改为:scanf( “%d,&n);第六行改为:while(i=n)第十行改为:printf(sum=%ld,sum);2、 第四行改为:for(j=0;j5;j+)第五行改为:scanf( %d ,&aj);第七行改为:for(j=0;j5;j+)第八行改为:if(maxaj)第十三行改为:printf(下标:dn最大值:%d ”,m,max)3、 第三行改为:int c;第五行改为:printf( c=%d ”,c);4、 第一行改为:float sum(

4、float x, float y );第四行改为:return(z);第八行:float c;第 一行:printf(nSum is %f,c);5、 第 2、3 行: int t;t=*p1;*p1=*p2;*p2=t;第 9 行:q仁&a,q2=&b;第 10 行:if(ab) s);第 11 行:pri ntf(n%d,%dn,*q1,*q2);6.程序读入20个整数,统计非负数个数,并计算非负数之与、#in clude “ stdioh”main ()int i, a20, s , count ; s=co un t=1;for( i=1; i20; i-)seanf( “ (: ai

5、);s=co un t=0;for(i=0;i20;i-) scanf( %d :&ai);for(i=0;i20;i+) if(ai0) break;s +=ai; coun t+; printf( “ s=%con ti nue;n” , s, count);printf( s=%d count=%dn ”,s,count);7、 x , y两个数中 让x中存较大的数,y存较小的数#includemai n()int x , y=200 , z=0;x=180;if ( xy)z=x; x=y; y=z; z=x;x=y;y=z;printf( “=%d,y=%dn ,&x,&y);pri

6、ntf( x=%d,y=%dn :x,y); 8、 从键盘输入整数x的值,并输出y的值、main () float x,y; 正确的:scanf( %d:, &x);y=3、5+x;printf( y=%d ”):9、 从1加到100,并输出、Mai n ()int i , sumi=1;While ( i=100 ) sum=sum*i:i+ : printf ( “ C , sum )10、求一个4X4矩阵的对角线元素之与int x; float y;printf( y=%f ”,y);mai n()int a44, sum=O;int i,j;printf( Enter data:n”;

7、 for(i=0;i=4;l+) for(i=0,i=4;i+) scanf( %d ”&aij);for(i=0;i4;I+) for(j=0:j n) sum=sum i: i+;prin tf(sum=%d,sum);*13.调用起泡法函数排序void sort(i nt a, n);sort(data10,10);prin tf(nthe result of sort:n);for(i=0; i10; i+)prin tf(%d ”,datai);15、 编程计算下面分段函数,输入x,输出ymain () int x,y;printf( “ n ”);scanf( “ d , x);i

8、f(x=0llx;,16、 求100300间能被3整除的数的与。main () int n;long sum:for(n=100; *=300; n+)if(n %3=0)sum=sum* n;printf( Id %” ,sum);17、 用函数实现两个整数的交换。s *p1,i nt *p2) int *p;p=p1:p1=p2;p2=p;main () int a,b;printf( nlnput a,b: ” );scanf( “ d,%d,&a,&b);s , &b ); printf( n%d,%d ,a,b);2位小数。18、实现华氏温度转换为摄氏温度,公式为:c=*(f-32)

9、,要求输出结果取main () int c,f;prin tf(Please en ter f:);scan f(%f, &f);c=5/9*(f-32);printf(f=%f,c=%f,c,f);19.下面程序的功能就是计算 n!。main () int i,n;int s;prin tf(Please en ter n:”);scan f(%d, n);for(i=1;i=n ;i+);prin tf(%d! = %d,i,s);20.编程计算12+ 32+ 52+ 92,要求输出中间计算结果。mai n() int i, sum=0;for(i=1;i=9;i+2)sum+=i;pri

10、 ntf(sum = %d,sum);21、 求表达式的值#include #include int fun (i nt x, int y);main () int a,b; float f;seanf( “ d,%d ,a,b);if(ab0) f = fun( a,b); prin tf(The result is:%dn, &f) else printf( “error! ” );fun (x, y) float result;result = sqrt(a+b); return; 22、通过函数调用,求两个数之差sub(x,y) float z;z=x-y;return;main ()

11、 float a,b;int c;scanf( “f,%f”,&a,&b);c=sub(a,b);printf( “nSub is %f ”,sub);23、 求1到100的累加与、mai n ()int i , sumi=1;while ( i=100 ) sum=sum*i :i+ : printf ( “ C , sum )24、 一个小于1000的正整数每位上的数字就是多少。#include stdio、hmain () int n,i,j,k;printf(Input a number n(0n1000):n); scan f(%d, n);if(n=1000)pri ntf(err

12、or);exit(0);k=n%10、 0;j=( n%100)/10;i=n/100;prin tf(%s %s %sn,i,j,k):25、 输入三角形的三边长,求三角形的面积。#include mai n()float a,b,c,s,area;sea n(%d,%d,%d,a,b,c);s=1、0/2*(a+b+c);area=sqrt(s(s-a)(s-b)(s-c);printf(a=%7、2f,b=%7、2f,c=%7、2f,s=%7、2fn”,&a,&b,&c,&s):printf(area=%7、2fn”,&area)26、求与 1! +2! +3! +4! +20!。mai

13、 n()float s=0,t=0;int n;for(n=0;n20;n+)t=t+ n;s=s*t;printf(1 ! +2 ! +3 ! +4! + +20!=%dn,s);*27、下面程序实现的功能就是求两整数的最小公倍数。#include stdio、hmai n() int m ,n , resultl; resultprint( input two integers” );scaf( “ Wfm n); &m,&nresult= mn ? n: m :while( (result % m !=0 ) | ( result % n = =0) ) !=result+;printf

14、( “ The least com mon multiple of m and n is %d &result);result28.下列程序实现按分数从高到低的顺序输出 ,划线处存在错误,请予以更正、#include #define ARR_SIZE 40void Sort(float score, I ong nu m, int n)main () float scoreARR_SIZE;int n, i;lo ng nu mARR_SIZE;prin tf(Please en ter total nu mber:);sea nf(%dn, n);prin tf(Please en ter

15、the nu mber and score: n); for (i=0; in; i+) scan f(%ld%f,&n umi, &scorei); Sort(score, num, n);prin tf(Sorted results:n);for (i=0;i n;i+) printf(%ldt%4 、0fn,numi,scorei); void Sort(score, num, n) int i, j;float tempi;long temp2;for (i=0; in-1; i+) for (j=i; j=n; j+) if (sco tempi = scorej;scorej =

16、scorei; scorei = tempi;temp2 = nu mj; nu mj = nu mi; nu mi = temp2; 29.把用户输入的数据累加,直到输入零为止,输出累加的结果。#includemain () in tt sum=0,d;printf(Enter a serial of numbers ended by 0:n); scanf(%d,d);if(d=0) break; sum+=d;prin tf(sum=%fn,sum):while(i)正确: 正确: d=0 正确:printf(sum=%dn,sum) : 30、求 1+2+3+4+n(n 100)#in

17、cludefun(n); 正确: main () int p, n;scan f(%d,&n);p=int fun(n); 正确: prin tf(p=%d,p);int fun (i nt m) int total; 正确: int i=1;while(i=m) total=total+i;i+;return; 正确: 32、 求一个3X 3矩阵的主对角线元素之与mai n() int a33;int sum:int i,j;printf( Enter data:n”;for(i=0;i3;i+)for(j=0,j3,j+)seanf( %f,&aij);for(i=0;i3;i+)for(

18、j=0,j=3;j+)if (i=j)sum +=aij;printf( sum=%5dn ”,sum);33、 摄氏温度C=(5/9)(F-32), 求华氏温度F=100时对应的摄氏温度#inelude void ma in (void)int celsius; fahr; fahr = 100;celsius = 5 * (fahr - 32) / 9;prin tf(fahr = d, Celsius = %dn, fahr, Celsius);二、 下列程序有逻辑错误,请改正,使之能完成要求的功能1.输入6个整数,按每行3个数输出这些整数,最后输出6个整数的平均值。#include v

19、oid mai n() int i, a 6,sum=0 , n=0;int av;for(i=0;i n; i+)scan f(%d,ai);for(i=0;i n; i+) prin tf(%d,ai);if(i%3=0)prin tf(n);for(i=0;i!=n ;i+) sum+=ai;av=su m/n;prin tf(av=%fn,av);2、输入一系列学生成绩,输入负数为止。统计不及格的人数,计算平均分。#include #define ARR_SIZE 80void mai n() int scoreARR_SIZE;int i ;int n o_pass = 0;float ave;prin tf(Please in put the score:);scanf( %d”& score i);while(score i=0) if (score i60)no _pass +;ave=ave+ score i;ave=ave/n; printf(not pass num: %dn, no _pass);prin tf(the ave is: %fn, ave);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1