《C语言程序设计》实验设计习题答案.docx
- 文档编号:26323168
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:16
- 大小:19.21KB
《C语言程序设计》实验设计习题答案.docx
《《C语言程序设计》实验设计习题答案.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验设计习题答案.docx(16页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》实验设计习题答案
实验三
3.4编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数输出voidmain()
{
charc1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
putchar('\n');
printf("%c%c\n",c1,c2);
}
3.5把790分钟换成用小时和分钟表示,然后输出。
voidmain()
{
ints=790;
printf("%d小时",s/60);
printf("%d分钟",s%60);
3.6将读入三个数a,b,c,然后交换它们的值,把a的值给b,把b的值给c,把c的值给a.
main()
{
inta,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
t=a;
a=b;
b=c;
c=t;
printf("%d,%d,%d",a,b,c);
3.7输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数,验证处理是否真确。
#include
{
floatx,s,a;intz;scanf("%f",&x);a=100*x+0.5;z=(int)(a);s=z/100.0;printf("%.2f\n",s);
}
main()
{
inta,b,t;doublec;scanf("%lf",&c);b=100*c;t=1000*c;a=t%10;
if(a>=5)b=b+1;elseb=b+0;c=1.0*b/100;
printf("%7.2lf/n",c);
return0;
}
voidmain()
{
intx,y;
scanf("%d",&x);if(x<0&&x>-5)y=x;if(x==0)y=x-1;if(x<10&&x>0)y=x+1;printf("%d",y);
}实验四
4.2不嵌套if语句voidmain(){
intx,y;
scanf("%d",&x);
if(x<0&&x>-5)y=x;
if(x==0)y=x-1;
if(x<10&&x>0)y=x+1;printf("%d",y);
}
法二:
嵌套if语句
voidmain()
{
intx,y;
scanf("%d",&x);if((x>-5)&&(x<0))y=x;elseif(x==0)y=x-1;elseif(x<10&&x>0)y=x+1;printf("%d",y);
}
4.3如下程序运用条件运算符求变量的绝对值?
voidmain()
{
inta,M;
scanf("%d",&a);
M=a>0?
a:
-a;
printf("abs(a)=%d",M);
4.4某服装店经营套服,也可单件出售,若买的不少于50套,每套80元,不足50套的每套90元,只买上衣每件60元,只买裤子每条45元,(读入所买上衣C和裤子t的件数,计算应付款m。
voidmain()
{
intc,t,m;
printf("inputthenumberofcoatand
trousersyourwantbuy:
\n");;
scanf("%d%d",&c,&t);
if(t==c)
if(c>=50)m=c*80;
elsem=c*90;
else
if(c>t)
if(t>=50)m=t*80+(c-t)*60;
elsem=t*90+(c-t)*60;
else
if(c>=50)m=c*80+(t-c)*45;
elsem=c*90+(t-c)*45;
printf("%d",m);
}
4.5:
从键盘中输入三个数,分别让他们代表三条线段的长度,请编写程序,判断由这三条线段组成的三角形将是什么三角形(不等边,等腰,等边或不构成三角形)?
Include
{
inta,b,c;
scanf("%d%d%d",&a,&b,&c);if(a+b>c&&b+c>a&&c+a>b)
{
if((a==b)&&(b==c))
printf("等边三角形");
elseif((a==b&&b!
=c)||(b==c&&c!
=a))printf("等腰三角形");
elseprintf("不等边三角形");
}
elseprintf("不构成三角形");
4.6:
判断输入的整数是否既是5又是7的倍数,若是,则输出yes,否则输出novoidmain()
{
intx;
scanf("%d",&x);
if(x%5==0&&x%7==0)
printf("yes");
else
printf("no");
}
实验五
5.2输入一行字母,将字母加密输出(如“a'变成’c','b'变成’d',……,'z'
变成‘b')
main()
{intc;
while((c=getchar())!
='\n')
{if
(c<='X'&&c>='A'||c<='x'&&c>='a')
c+=2;
elseif(c=='y'||c=='Y'||c==
'z'||c=='Z')c=c-24;printf("%c",c);
}
putchar('\n');
}
5.3利用for循环编写程序法一:
#include"stdio.h"
main()
{
inti,j;
for(i=1;i<=4;i++)
{for(j=1;j<=6;j++)
{if(i==2||i==3){if(j==1||j==6)printf("*");elseprintf("");
}
else
printf("*");
}
printf("\n");
}
}
法二:
#include"stdio.h"main()
{
inti,j;for(i=1;i<=4;i++){
if(i==1||i==4)
{for(j=1;j<=6;j++){printf("*");
}printf("\n");
}
else
{
printf("*");
for(j=1;j<=4;j++)
{
printf("");
}
printf("*");
printf("\n");
}
}
}
5.4利用循环语句编程,输出三角形状的九九乘法表#include"stdio.h"main()
{
inti,j,k;
for(i=0;i<=9;i++){
if(i==0)
printf("*");
else
{
printf("%4d",i);
}
}
printf("\n");
for(i=1;i<=19;i++)
{
printf("_");
}
printf("\n");
for(i=1;i<=9;i++)
{
printf("%d",i);for(j=1;j<=i;j++)
{
k=i*j;
printf("%4d",k);
}
printf("\n");
}
}
5.5:
用while语句或do-while语句编写程序,计算:
e=1+1/1!
+1/2!
+...+1/n!
.#include
#include"math.h"
main()
{
floats=1.0,e=1.0,t;
inti=1;
while(fabs(t)>=1e-5)
{
s=s*i;
t=1/s;
e=e+1.0/s;
i++;
}
printf("%f\n",e);printf("%d",i);
}
5.6:
如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”,例如:
6的因子为1,2,3且6=1+2+3,所以6是完数,输出完数1+完数2+...=和值。
voidmain()
{
inti,j,sum,k;
for(i=2;i<=1000;i++)
{
sum=0;
for(j=1;j
{if(i%j==0)sum+=j;}
if(sum==i)
{printf("%d的因子:
\n",i);
k=0;
for(j=1;j
{
if(i%j==0&&k==0)printf("%d",j);
elseif(i%j==0)printf("+%d",j);
k++;
printf("=%d",sum);
printf("\n");
}
}
}
实验六
6.2:
将数组xx(有n个元素)的前K个元素(k 若输入7和123 4567,再输入5,则输出6712345.#include"stdio.h" main() { intn,k,xx[20]; inti,j,t; printf("\nPleaseenteranumber");scanf("%d",&n); printf("\nPleaseenter%dnumbers: ",n);for(i=0;i printf("%\nPleaseenteranothernumber: "); scanf("%d",&k); for(i=0;i { t=xx[0]; for(j=1;j xx[j-1]=xx[j];xx[n-1]=t; } printf("\nAftermoving: \n");for(i=0;i printf("\n"); } 6.3对a数组中n种商品价格进行分段统计,商品各段价格存到b数组中,其中: 价格为100到199元的个数存到b[1],价格为200到299元的个数存到b[2],价格为300到399的个数存到b[3],价格为400到499元的个数存到b[4],价格为500以上的个数存到b[5]中,例如: a的数组为: 90,180,270,380,590,530,140,750,380,调用函数后,b中存放的数据为: 1,2,1,2,0,3#include { inti,a[100]={90,180,270,380,590,530,140,750,380},b[6]; for(i=0;i<6;i++) b[i]=0; for(i=0;i<9;i++) { switch(a[i]/100) { case0: b[0]++;break; case1: b[1]++;break; case2: b[2]++;break;case3: b[3]++;break;case4: b[4]++;break;default: b[5]++;break; } } printf("Theresultis: "); for(i=0;i<6;i++) printf("%d",b[i]); printf("\n"); } 6.4编写程序,先读入10个整数,再把他们按从小到大的次序排列起来;最后再读入一个整数K,,并将K插入到该数列中,插入后数列仍然从小到大排列。 例如: 若输入: 6,3,42,23,35,71,98,67,56,38,最后再输入待插入数59,则输出为: 6,23,35,38,42,56,59,67, 98 #include main() { int i,j,t,p,q,s,n,a[11]={6,3,42,23,35,71,98,67,56,38}; for(i=0;i<10;i++) {for(j=i+1;j<10;j++)if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } printf("%d",a[i]); } printf("\ninputnumber: \n");scanf("%d",&n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 实验设计 习题 答案