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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、C语言程序改错基本题库北京石油化工学院 12级复习题程序改错一、 下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。求1234nmain() long int sum;int n,i=1;scanf(%d,n);printf(“n”);while(in) sum=sum*i;i+;printf(sum=%d,sum); 2求一个数组中最大值及其下标。main( ) 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; printf(“下标:%dn最

2、大值:%d”, j, max) *3. 求 3+4 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;scanf(%f,%f,&a,&b);c=sum(a,b);printf(nSum is %f,sum);5用指针作函数参数,对输入的两个整数按大小顺序输出。swap(int *p1,*p2) int *p;*p=*p1;*p1=*p2;*p2=*p;main() int a,b;int *q1,*q2;sca

3、nf(%d,%d,&a,&b);&q1=a,&q2=b;if(ab) swap(*q1,*q2);printf(n%d,%dn,q1,q2);前五题答案:应初始化 即加入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(“

4、c=%d”,c);4. 第一行改为:float sum(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行:q1=&a,q2=&b; 第10行:if(ab) swap(q1,q2); 第11行:printf(n%d,%dn,*q1,*q2);6 程序读入20个整数,统计非负数个数,并计算非负数之和.#include “”main() int i, a20, s , count ; s=count=1; s=cou

5、nt=0; for( i=1; i20; i- -) for(i=0;i20;i-)scanf(“%d”, ai ); scanf(“%d”,&ai); for(i=0;i20;i+) if(ai0) break; continue;s +=ai;count+; printf(“s=%f count=%fn”, s, count); printf(“s=%d count=%dn”,s,count);7. x , y两个数中,让x中存较大的数,y存较小的数#includemain( ) int x , y=200 , z=0; x=180; if ( xy) z=x; x=y; y=z; z=x

6、;x=y;y=z; printf(“x=%d,y=%dn”,&x,&y); printf(“x=%d,y=%dn”,x,y); 8. 从键盘输入整数x的值,并输出y的值. main() float x,y; 正确的: int x; float y; scanf(“%d”,&x); y=+x; printf(“y=%d”); printf(“y=%f”,y); 9. 从1加到100,并输出. Main ( )int i , sum i=1; While ( i=100 ) sum=sum*i; i+ ; printf ( “%c”, sum ) 10、求一个44矩阵的对角线元素之和main( )

7、 int a44, sum=0; int i,j; printf(“Enter data:n”); for(i=0;i=4;I+) for(j=0,j=4;j+) scanf(“%d”,&aij); for(i=0;i4;I+) for(j=0;jn) sum=sum*i;i+;printf(sum=%d,sum);*13调用起泡法函数排序void sort(int a, n); int i,j,temp,*p;for(i=0; ii; j-) if(dataj dataj-1) temp=aj; aj= aj-1; aj-1=temp; main() int data10; *p=data;

8、 printf(Please input 10 numbers:n); for(i=0; iNUM; i+,p+)scanf(%d, &p); p=&data0;sort(data10,10);printf(nthe result of sort:n); for(i=0; i10; i+) printf(%d ,datai); 15. 编程计算下面分段函数, 输入x, 输出ymain() int x,y; printf(“n Input x:n”); scanf(“%d”, x);if(x=0|x=10) y=2x-1;else y=3x-1;printf(“y=%d”,&y); 16. 求1

9、00300间能被3整除的数的和。 main() int n;long sum; for(n=100;n=300;n+) if(n%3=0) sum=sum*n; printf(“%ld ”,sum); 17. 用函数实现两个整数的交换。swap(int *p1,int *p2) int *p; p=p1; p1=p2; p2=p; main() int a,b; printf(“nInput a,b: ”); scanf(“%d,%d”,&a,&b); swap(&a , &b ); printf(“n%d,%d”,a,b); 18. 实现华氏温度转换为摄氏温度,公式为:c=*(f-32),要

10、求输出结果取2位小数。main() int c,f;printf(Please enter f:);scanf(%f, &f);c=5/9*(f-32);printf(f=%f,c=%f,c,f);19下面程序的功能是计算n!。main() int i,n;int s;printf(Please enter n:);scanf(%d, n);for(i=1;i=n;i+) ;s=*i;printf(%d! = %d,i,s);20编程计算12325292,要求输出中间计算结果。main() int i, sum=0;for(i=1;i=9;i+2)sum+=i;printf(sum = %d,

11、sum);21. 求表达式的值#include #include int fun(int x, int y);main() int a,b; float f;scanf(“%d,%d”,a,b);if(ab0) f = fun(a,b); printf(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() float a,b;int c;scanf(“%

12、f,%f”,&a,&b);c=sub(a,b);printf(“nSub is %f”,sub);23、求1到100的累加和. main ( )int i , sum i=1; while ( i=100 ) sum=sum*i ; i+ ; printf ( “%c”, sum ) 24、 一个小于1000的正整数每位上的数字是多少。 #include main() int n,i,j,k; printf(Input a number n(0n1000):n); scanf(%d,n); if(n=1000) printf(error);exit(0); k=n%; j=(n%100)/10; i=n/100; printf(%s %s %sn,i,j,k);25、输入三角形的三边长,求三角形的面积。 #include main( ) float a,b,c,s,area; scan(%d,%d,%d,a,b,c); s=2*(a+b+c); area=sqrt(s(s-a)(s-b)(s-c); printf(a=%,b=%,c=%,s=%n,&a,&b,&c,&s); printf(area=%n,&area)

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

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