C语言实验报告第3章答案.docx

上传人:b****3 文档编号:2875692 上传时间:2022-11-16 格式:DOCX 页数:14 大小:22.09KB
下载 相关 举报
C语言实验报告第3章答案.docx_第1页
第1页 / 共14页
C语言实验报告第3章答案.docx_第2页
第2页 / 共14页
C语言实验报告第3章答案.docx_第3页
第3页 / 共14页
C语言实验报告第3章答案.docx_第4页
第4页 / 共14页
C语言实验报告第3章答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言实验报告第3章答案.docx

《C语言实验报告第3章答案.docx》由会员分享,可在线阅读,更多相关《C语言实验报告第3章答案.docx(14页珍藏版)》请在冰豆网上搜索。

C语言实验报告第3章答案.docx

C语言实验报告第3章答案

3.2基础实验

一、程序分析

1.以下程序若输入’a’,则输入格式为:

__c1=a____;运行结果为:

___a,A↙_____。

#include

intmain()

{charc1,c2;

scanf(“c1=%c”,&c1);

c2=c1-32;

printf(“%c,%c\n”,c1,c2);

return0;

}

2.以下程序如果使得a的值为2、b的值为3,则输入格式为:

_a=2,b=3__;运行结果为:

_2,3↙_。

#include

intmain()

{inta,b;

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

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

return0;

}

3.以下程序若输入12.3、7.6、1.1,则输入格式为:

_12.37.61.1__;运行结果为:

_aver=7.00___。

#include

intmain()

{floata,b,c,d;

scanf(“%f%f%f”,&a,&b,&c);

d=(a+b+c)/3;

printf(“aver=%.2f”,d);

return0;

}

二、程序填空

1.输入一个四位整数,求各位数字之和(如1234,则结果为1+2+3+4=10)。

若输入3562,则运行结果为:

___3+5+6+2=16↙____________。

#include

intmain()

{intn,a,b,c,d,m;

scanf(“%d”,&n);

a=n%10;

b=(n/10)%10;

c=(n/100)%10;

d=__n/1000________;

m=__a+b+c+d________;

printf(“%d+%d+%d+%d=%d\n”,d,c,b,a,m);

return0;

}

2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:

__f=64.00,c=17.78↙__。

#include

intmain()

{floatf,c;

f=64.0;

c=__(f-32)*5.0/9.0_________________;

printf(“f=%.2f,c=%5.2f\n”,f,c);

return0;

}

三、程序改错

1.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

#include

main()

{inti;floatk;

scanf(“i=%d”,i);

k=3.12*i;

printf(“%.2f\n”,k);

return0;

}

找错

错误在4行

 应改为:

scanf(“i=%d”,&i);

调试正确后的运行结果

输入数据:

i=17

运行结果:

53.04↙

2.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

#include

main()

{chara;intb;floatc;doubled;

scanf(“%c,%d,%f,%lf”,&a,&b,&c,&d);

putchar(a\n);

printf(“%d,%0.2f,%.2lf\n”,b,c,d);

return0;

}

找错

错误在5行

 应改为:

putchar(a);putchar(“\n”);

调试正确后的运行结果

输入数据:

A,19,12.3,10.98

运行结果:

A↙19,12.30,10.98

四、程序设计

1.对输入的字符进行加密,加密规则为“输入4个字符,将每个字符加4后转换成加密字符”,如输入“Ab2c”则加密后的字符序列为“Ef6g”。

1.#include

intmain()

{charc1,c2,c3,c4;

scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);

c1+=4;

c2+=4;

c3+=4;

c4+=4;

printf(“%c%c%c%c\n”,c1,c2,c3,c4);

return0;

}

 

3.3拓展实验

一、程序分析

1.⊙以下程序若输入3.4、12.0、8.9,则输入格式为:

3.4,12.0,8.9,运行结果为:

7.20↙。

#include

#include

intmain()

{floata,b,c;

floats,area;

scanf(“%f,%f,%f”,&a,&b,&c);

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“%.2f\n”,area);

return0;

2.以下程序若输入C和2,则运行结果分别为:

__'F'和'5'_________。

#include

intmain()

{charc1;

intc2=0;

c1=getchar();

c2=c1+3;

putchar('\'');putchar(c2);putchar('\'');

return0;

}

二、程序填空

1.⊙以下程序实现按由大到小顺序输出任意两个整数。

若输入3562,则运行结果为:

__62,35↙__。

#include

intmain()

{intm,n;

scanf(“%d%d”,_&m,&n_______);

n>=m?

printf(“%d,%d\n”,n,m):

_printf(“%d,%d\n”,m,n)________;

return0;

}

2.以下程序实现输入任意两个整数,完成加、减、乘、除、求余操作并运行结果。

若输入29、18,则运行结果为:

_29+18=47,29-18=11,29*18=522,29/18=1,29%18=11_。

#include

intmain()

{intx,y;

printf(“请输入x,y的值:

”);

scanf(“%d%d”,&x,&y);

printf(“%d+%d=%d,”,_x,y,x+y________);

printf(“%d-%d=%d,”,_x,y,x-y_________);

printf(“%d*%d=%d,”,_x,y,x*y_______);

printf(“%d/%d=%d,”,_x,y,x/y________);

printf(“%d%%%d=%d”,_x,y,x%y____);

return0;

}

三、程序改错

1.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

#include

main();

{chari;intj;

scanf(“i=%d,j=%d”,&i,&j);

j=i+j/2;

printf(“%c%c\n”,i,j);

return0;

}

找错

错误在2行

 应改为:

main()

调试正确后的运行结果

输入数据:

i=65,j=5

运行结果:

AC

2.分析以下程序段,找出错误并改正。

行号

源程序

1

2

3

4

5

6

7

8

9

#include

#include

#definepi=3.1416

main()

{floatr;

scanf(“r=%f”,&r);

printf(“%.2f,%.2lf\n”,pi*pow(r,2),2pi*r);

return0;

}

找错

错误在3,7行

应改为:

#definepi3.1416

printf(“%.2f,%.2lf\n”,pi*pow(r,2),2*pi*r);

调试正确后的运行结果

输入数据:

r=2

r=3

运行结果:

12.57,12.57↙

28.27,18.85↙

四、程序设计

1.输入圆的半径,输出该圆的周长和面积,结果保留2位小数。

2.⊙求ax2+bx+c的根,a、b、c从键盘输入,结果保留2位小数。

1.#include

intmain()

{floatr,s,area;

scanf(“%f”,&r);

s=2*3.14*r;

area=3.14*r*r;

printf(“周长为%.2f,面积为%.2f\n”,r,area);

return0;

}

2.#include

#include

intmain()

{floata,b,c,x1,x2,disc,p,q;

scanf(“%f%f%f”,&a,&b,&c);

disc=sqrt(b*b-4*a*c);p=-b/2/a;q=disc/2/a;

x1=p+q;x2=p-q;

printf(“x1=%.2f,x2=%.2f\n”,x1,x2);

return0;

}

 

3.4习题

一、选择题

1.以下4个选项中,不能看作一条语句的是()。

A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;

2.以下叙述中错误的是()。

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

3.⊙已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是()。

inta1,a2;charc1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

A.10A20B↙B.10A20B↙C.10A20B↙D.10A20B↙

4.有输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是()。

A.132↙B.1,3,2↙C.a=1b=3c=2↙D.a=1,b=3,c=2↙

5.若定义x为double型变量,则能正确输入x值的语句是()。

A.scanf(“%f”,x);B.scanf(“%f”,&x);

C.scanf(“%lf”,&x);D.scanf(“%5.1f”,&x);

6.已知i,j,k为int型变量,若从键盘输入:

1,2,3<回车>,以下选项中正确的输入语句是()。

A.scanf(“%2d%2d%2d”,&i,&j,&k);B.scanf(“%d_%d_%d”,&i,&j,&k);

C.scanf(“%d,%d,%d”,&i,&j,&k);D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

7.⊙若运行时输入:

12345678↙,则下列程序运行结果为()。

inta,b;

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

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

A.46B.579C.5690D.出错

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

当前位置:首页 > 医药卫生 > 基础医学

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

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