C语言程序改错基本题Word文档格式.doc

上传人:wj 文档编号:1254414 上传时间:2023-04-30 格式:DOC 页数:12 大小:72KB
下载 相关 举报
C语言程序改错基本题Word文档格式.doc_第1页
第1页 / 共12页
C语言程序改错基本题Word文档格式.doc_第2页
第2页 / 共12页
C语言程序改错基本题Word文档格式.doc_第3页
第3页 / 共12页
C语言程序改错基本题Word文档格式.doc_第4页
第4页 / 共12页
C语言程序改错基本题Word文档格式.doc_第5页
第5页 / 共12页
C语言程序改错基本题Word文档格式.doc_第6页
第6页 / 共12页
C语言程序改错基本题Word文档格式.doc_第7页
第7页 / 共12页
C语言程序改错基本题Word文档格式.doc_第8页
第8页 / 共12页
C语言程序改错基本题Word文档格式.doc_第9页
第9页 / 共12页
C语言程序改错基本题Word文档格式.doc_第10页
第10页 / 共12页
C语言程序改错基本题Word文档格式.doc_第11页
第11页 / 共12页
C语言程序改错基本题Word文档格式.doc_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序改错基本题Word文档格式.doc

《C语言程序改错基本题Word文档格式.doc》由会员分享,可在线阅读,更多相关《C语言程序改错基本题Word文档格式.doc(12页珍藏版)》请在冰点文库上搜索。

C语言程序改错基本题Word文档格式.doc

b);

c=sum(a,b);

\nSumis%f"

5.用指针作函数参数,对输入的两个整数按大小顺序输出。

swap(int*p1,*p2)

{int*p;

*p=*p1;

*p1=*p2;

*p2=*p;

{inta,b;

int*q1,*q2;

%d,%d"

&

q1=a,&

q2=b;

if(a<

b)swap(*q1,*q2);

\n%d,%d\n"

q1,q2);

前五题答案:

1.sum应初始化即加入sum=1

第四行改为:

scanf(“%d”,&

n);

第六行改为:

=n)

第十行改为:

sum=%ld"

2.第四行改为:

for(j=0;

5;

第五行改为:

a[j]);

第七行改为:

第八行改为:

if(max<

第十三行改为:

printf(“下标:

%d”,m,max)

3.第三行改为:

第五行改为:

printf(“c=%d”,c);

4.第一行改为:

floatsum(floatx,floaty);

第四行改为:

return(z);

第八行:

floatc;

第十一行:

c);

5.第2、3行:

{intt;

t=*p1;

*p2=t;

第9行:

q1=&

a,q2=&

b;

第10行:

b)swap(q1,q2);

第11行:

*q1,*q2);

6.程序读入20个整数,统计非负数个数,并计算非负数之和.

#include“stdio.h”

{

inti,a[20],s,count;

s=count=1;

s=count=0;

for(i=1;

i<

20;

i--)for(i=0;

i<

i--)

scanf(“%d”,a[i]);

scanf(“%d”,&

a[i]);

for(i=0;

i++)

{

if(a[i]<

0)

break;

continue;

s+=a[i];

count++;

}

printf(“s=%fcount=%f\n”,s,count);

printf(“s=%dcount=%d\n”,s,count);

7.x,y两个数中,让x中存较大的数,y存较小的数

#include<

stdio.h>

intx,y=200,z=0;

x=180;

if(x<

y)

z=x;

x=y;

y=z;

{z=x;

x=y;

y=z;

printf(“x=%d,y=%d\n”,&

x,&

y);

printf(“x=%d,y=%d\n”,x,y);

8.从键盘输入整数x的值,并输出y的值.

{floatx,y;

正确的:

intx;

floaty;

scanf(“%d”,&

x);

y=3.5+x;

printf(“y=%d”);

printf(“y=%f”,y);

9.从1加到100,并输出.

Main()

{inti,sum

i=1;

While(i<

=100)

{sum=sum*i;

i++;

}

printf(“%c”,sum)

}

10、求一个4×

4矩阵的对角线元素之和

{inta[4][4],sum=0;

inti,j;

printf(“Enterdata:

\n”);

=4;

I++)

for(j=0,j<

a[i][j]);

4;

for(j=0;

sum=sum+a[i][j];

printf(“sum=%5d\n”,sum);

12.求1+2+3+4+……n的值。

d"

while(i>

*13.调用起泡法函数排序

voidsort(inta[],n);

{inti,j,temp,*p;

for(i=0;

n-1;

i++)

for(j=n-1;

j>

i;

j--)

if(data[j]<

data[j-1])

{temp=a[j];

a[j]=a[j-1];

a[j-1]=temp;

main()

{intdata[10];

*p=data;

Pleaseinput10numbers:

\n"

);

NUM;

i++,p++)

&

p);

p=&

data[0];

sort(data[10],10);

\ntheresultofsort:

for(i=0;

10;

i++)

printf("

%d"

data[i]);

}

15.编程计算下面分段函数,输入x,输出y

{intx,y;

printf(“\nInputx:

scanf(“%d”,x);

if(x<

0)

y=x-1;

elseif(x>

=0||x<

=10)

y=2x-1;

else

y=3x-1;

printf(“y=%d”,&

16.求100~300间能被3整除的数的和。

{intn;

longsum;

for(n=100;

n<

=300;

n++)

{

if(n%3=0)

sum=sum*n;

}

printf(“%ld”,sum);

17.用函数实现两个整数的交换。

swap(int*p1,int*p2)

p=p1;

p1=p2;

p2=p;

{inta,b;

printf(“\nInputa,b:

”);

scanf(“%d,%d”,&

swap(&

a,&

b);

printf(“\n%d,%d”,a,b);

18.实现华氏温度转换为摄氏温度,公式为:

c=*(f-32),要求输出结果取2位小数。

{intc,f;

Pleaseenterf:

"

);

%f"

,&

f);

c=5/9*(f-32);

f=%f,c=%f"

,c,f);

19.下面程序的功能是计算n!

{inti,n;

ints;

Pleaseentern:

,n);

for(i=1;

=n;

i++);

s=*i;

%d!

=%d"

,i,s);

20.编程计算12+32+52+…+92,要求输出中间计算结果。

{inti,sum=0;

=9;

i+2)

sum+=i;

sum=%d"

,sum);

21.求表达式的值

#include<

math.h>

intfun(intx,inty);

{ inta,b;

floatf;

scanf(“%d,%d”,a,b);

if(ab>

{f=fun(a,b);

printf("

Theresultis:

%d\n"

f)}

elseprintf(“error!

”);

fun(x,y)

{ floatresult;

result=sqrt(a+b);

return;

22、通过函数调用,求两个数之差

sub(x,y)

z=x-y;

scanf(“%f,%f”,&

c=sub(a,b);

printf(“\nSubis%f”,sub);

23、求1到100的累加和.

main()

while(i<

{sum=sum*i;

24、一个小于1000的正整数每位上的数字是多少。

#include"

stdio.h"

main()

{intn,i,j,k;

Inputanumbern(0<

1000):

scanf("

if(n<

=0||n>

=1000)

{printf("

error"

exit(0);

k=n%10.0;

j=(n%100)/10;

i=n/100;

%s%s%s\n"

i,j,k);

25、输入三角形的三边长,求三角形的面积。

#include<

main()

{floata,b,c,s,area;

scan("

%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.2f\n"

b,&

c,&

s);

area=%7.2f\n"

area)

}

26、求和1!

+2!

+3!

+4!

+……+20!

floats=0,t=0;

intn;

for(n=0;

{

t=t+n;

s=s*t;

1!

=%d\n"

s);

*27、下面程序实现的功能是求两整数的最小公倍数。

#include"

{intm,n,result1;

result

print(“inputtwointegers:

\n”);

scaf(“%d%d”,m,n);

&

m,&

n

result=m<

n?

n:

m;

while((result%m!

=0)||(result%n==0))!

=

result++;

printf(“Theleastcommonmultipleofmandnis%d\n”,&

result);

result

28.下列程序实现按分数从高到低的顺序输出,划线处存在错误,请予以更正.

#include<

#defineARR_SIZE40

voidSort(floatscore[],longnum[],intn)

{floatscore[ARR_SIZE];

intn,i;

longnum[ARR_SIZE];

printf("

Pleaseentertotalnumber:

scanf("

n);

Pleaseenterthenumberandscore:

for(i=0;

n;

i++)

{scanf("

%ld%f"

num[i],&

score[i]);

Sort(score,num,n);

Sortedresults:

i++)

{printf("

%ld\t%4.0f\n"

num[i],score[i]);

voidSort(score,num,n)

{inti,j;

floattemp1;

longtemp2;

i++)

{for(j=i;

j<

=n;

j++)

{if(score[j]<

score[i])

{temp1=score[j];

score[j]=score[i];

score[i]=temp1;

temp2=num[j];

num[j]=num[i];

num[i]=temp2;

}

}

}

}

29.把用户输入的数据累加,直到输入零为止,输出累加的结果。

{inttsum=0,d;

printf("

Enteraserialofnumbersendedby0:

while

(1)

{scanf("

d);

正确:

scanf("

d);

if(d=0)break;

正确:

d==0

sum+=d;

sum=%f\n"

正确:

sum=%d\n"

sum);

30、求1+2+3+4++n(n<

100)

fun(n);

正确:

{intp,n;

p=intfun(n);

正确:

p=%d"

p);

}

intfun(intm)

{inttotal;

正确:

inti=1;

=m)

{total=total+i;

32.求一个3×

3矩阵的主对角线元素之和

{inta[3][3];

intsum;

3;

3,j++)

scanf(“%f”,&

=3;

if(i=j)

sum+=a[i][j];

33.摄氏温度C=(5/9)(F-32),求华氏温度F=100时对应的摄氏温度。

stdoi.h>

voidmain(void)

{

intcelsius;

fahr;

fahr=100;

celsius=5*(fahr-32)/9;

printf("

fahr=d,celsius=%d\n"

fahr,celsius);

二、下列程序有逻辑错误,请改正,使之能完成要求的功能

1.输入6个整数,按每行3个数输出这些整数,最后输出6个整数的平均值。

voidmain()

{inti,a[6],sum=0,n=0;

intav;

for(i=0;

n;

a[i]);

{printf("

if(i%3==0)

i!

{sum+=a[i];

av=sum/n;

av=%f\n"

av);

2.输入一系列学生成绩,输入负数为止。

统计不及格的人数,计算平均分。

#include<

#defineARR_SIZE80

voidmain()

{ intscore[ARR_SIZE];

inti;

intno_pass=0;

floatave;

printf("

Pleaseinputthescore:

scanf(“%d”,&

score[i]);

while(score[i]>

=0)

{ if(score[i]<

60)

no_pass++;

ave=ave+score[i];

ave=ave/n;

}

printf("

notpassnum:

%d\n"

no_pass);

printf("

theaveis:

%f\n"

ave);

12

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2