C语言上机实验 答案.docx
- 文档编号:27816079
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:44
- 大小:27.86KB
C语言上机实验 答案.docx
《C语言上机实验 答案.docx》由会员分享,可在线阅读,更多相关《C语言上机实验 答案.docx(44页珍藏版)》请在冰豆网上搜索。
C语言上机实验答案
实验一上机操作初步(2学时)
一、实验方式:
一人一机
二、实验目的:
1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:
说明:
前三题为必做题目,后两题为选做题目。
1、输出入下信息:
(实验指导书P79)
*************************
VeryGood
*************************
2、计算两个整数的和与积。
(实验指导书P81)
3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
(书P3)
4、在屏幕上显示一个文字菜单模样的图案:
=================================
1输入数据2修改数据
3查询数据4打印数据
=================================
5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:
五、实验调试记录:
六、参考答案:
1、#include
voidmain()
{printf(“********************\n”);
printf(“VeryGood\n”);
printf(“********************\n”);
}
2、#include
voidmain()
{inta,b,c,d;
printf(“Pleaseentera,b:
”);
scanf(“%d,%d”,&a,&b);
c=a+b;d=a*b;
printf(“%d+%d=%d\n”,a,b,c);
printf(“%d*%d=%d\n”,a,b,d);
}
3、#include
#include
voidmain()
{doublex,s;
printf(“Pleaseinputvalueofx:
”);
scanf(“%lf”,&x);
s=cos(x);
printf(“cos(%lf)=%lf\n”,x,s);
}
4、#include
voidmain()
{printf(“==================================\n”);
printf(“1输入数据2修改数据\n”);
printf(“3查询数据4打印数据\n”);
printf(“===================================\n”);
}
5、#include
voidmain()
{intx,y,t;
printf(“Pleaseenterxandy:
”);
scanf(“%d%d”,&x,&y);
t=x;x=y;y=t;
printf(“Afterswap:
x=%d,y=%d\n”,x,y);
}
实验二简单的C程序设计(4学时)
一、实验方式:
一人一机
二、实验目的:
1、掌握C语言的数据类型。
2、学会使用C语言的运算符及表达式。
3、掌握不同数据类型的输入输出方法。
三、实验内容:
说明:
前四题为必做题目,后两题为选做题目。
1、输入r1、r2,求出圆形垫片面积。
(实验指导书P84)
2、输入华氏温度h,输出摄氏温度c。
(实验指导书P85)
3、从键盘输入一个3位整数,将输出该数的逆序数。
(实验指导书P89)
4、输入并运行以下程序,分析运行结果。
#include
voidmain()
{inti,j;
i=8;j=10;
printf(“%d,%d\n”,++i,++j);
i=8;j=10;
printf(“%d,%d\n”,i++,j++);
i=8;j=10;
printf(“%d,%d\n”,++i,i);
i=8;j=10;
printf(“%d,%d\n”,i++,i);
}
5、输入三角形三条边的边长,求三角形的面积。
(书P55)
6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
(书P55)
四、实验步骤与过程:
五、实验调试记录:
六、参考答案:
1、#include
#definePI3.14
voidmain()
{floatr1,r2;
doubles1,s2,s;
printf(“Pleaseenterr1,r2:
\n”);
scanf(“%f%f”,&r1,&r2);
s2=r2*r2*PI;s1=r1*r1*PI;s=s2-s1;
printf(“s=%lf\n”,s);
}
2、#include
voidmain()
{floath,c;
printf(“请输入华氏温度:
”);
scanf(“%f”,&h);
c=5.0/9*(h-32);
printf(“\n摄氏温度:
%f\n”,c);
}
3、#include
voidmain()
{inta,b,c,x,y;
printf(“请输入一个3位的正整数:
\n”);
scanf(“%d”,&x);
a=x/100;/*求x的百位数*/
b=(x-a*100)/10;/*求x的十位数*/
c=x-a*100-b*10;/*求x的个位数*/
y=c*100+b*10+a;
printf(“%d:
%d\n”,x,y);
}
4、运行结果:
9,11
8,10
9,8
8,8
5、#include
#include
voidmain()
{inta,b,c;
doublearea,s;
printf(“Pleaseentera,b,c:
”);
scanf(“%d,%d,%d”,&a,&b,&c);
s=(double)(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%.2lf\n”,area);
}
6、#include
voidmain()
{chara,b,c;
floatx;
printf(“Pleaseenter:
\n”);
a=getchar();b=getchar();c=getchar();
x=(a+b+c)/3.0;
printf(“(a+b+c)/3=%.2f\n”,x);
}
实验三选择结构程序设计(2学时)
一、实验方式:
一人一机
二、实验目的:
1、熟练掌握if语句和switch语句。
2、练习并掌握多分支选择结构的编程方法。
3、学习调试和修改程序的步骤。
三、实验内容:
说明:
前三题为必做题目,后两题为选做题目。
1、读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。
(实验指导书P104)
2、输入某一年月,输出该月的天数。
(实验指导书P105)
3、有一函数:
x(x<1)
y=2x-1(1≤x<10)
3x-11(x≥10)编写程序,输入x值,输出y值。
4、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。
(书P94)
5、输入4个整数,要求按由小到大的顺序输出。
四、实验步骤与过程:
五、实验调试记录:
六、参考答案:
1、#include
voidmain()
{intl,w,h;
printf(“请输入箱子的长、宽、高:
\n”);
scanf(“%d%d%d”,&l,&w,&h);
if(l==w&&w==h)/*如果长、宽、高相等,则为立方体*/
printf(“该箱子是立方体。
”);
else
printf(“该箱子是长方体。
”);
}
2、#include
voidmain()
{intyear,month,days;
printf(“Pleaseenteryearandmonth:
\n”);
switch(month)
{case2:
if(year%4==0&&year%100!
=0||year%400==0)
days=29;
else
days=28;
break;
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;break;
case4:
case6:
case9:
case11:
days=30;
}
printf(“%d年%d月有%d天\n”,year,month,days);
}
3、#include
voidmain()
{floatx,y;
printf(“Pleaseinputx:
\n”);
scanf(“%f”,&x);
if(x<1)
y=x;
elseif(x<10)
y=2*x-1;
else
y=3*x-11;
printf(“y=%f\n”,y);
}
4、#include
voidmain()
{charx;
printf(“Enterachar:
\n”);
x=getchar();
if(x>=‘a’&&x<=‘z’)
x=x-32;
elseif(x>=‘A’&&x<=‘Z’)
x=x+32;
putchar(x);
}
5、#include
voidmain()
{inta,b,c,d,t;
printf(“请输入4个整数:
”);
scanf(“%d%d%d%d”,&a,&b,&c,&d);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(a>d){t=a;a=d;d=t;}
if(b>c){t=b;b=c;c=t;}
if(b>d){t=b;b=d;d=t;}
if(c>d){t=c;c=d;d=t;}
printf(“排序结果如下:
\n”);
printf(“%d,%d,%d,%d\n”,a,b,c,d);
}
实验四循环结构程序设计(4学时)
一、实验方式:
一人一机
二、实验目的:
1、熟练掌握while语句、do-while语句和for语句。
2、练习并掌握循环结构的嵌套形式。
3、掌握循环结构的程序设计方法。
三、实验内容:
说明:
前四题为必做题目,后两题为选做题目。
1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
(实验指导书P117)
2、求所有的水仙花数。
水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。
(实验指导书P118)
3、判断输入的某个数是否为素数。
若是,输出YES,否则输出NO。
(书P123)
4、计算π的近似值。
公式如下:
π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小于10-6为止。
(书P123)‘
5、计算s=1!
+2!
+……+20!
的值并输出。
6、输入10个整数,统计并输出其中正数、负数和零的个数。
四、实验步骤与过程:
五、实验调试记录:
六、参考答案:
1、#include
voidmain()
{floatx,max,min;
printf(“Pleaseinputscores:
”);
scanf(“%f”,&x);
max=min=x;
while(x>=0)
{if(x>max)max=x;
if(x scanf(“%f”,&x); } printf(“\nmax=%f\nmin=%f\n”,max,min); } 2、#include voidmain() {intx,y,z; intk=100; while(k<=999) {x=k/100; y=(k-x*100)/10; z=k-x*100-y*10; if(k==x*x*x+y*y*y+z*z*z) printf(“%d\n”,k); k++; } } 3、#include #include voidmain() {inti,x,yes,a; printf(“Enterintegernumber: ”); scanf(“%d”,&x); yes=1; i=2; a=(int)sqrt((double)x); while(yes&&i<=a){if(x%i==0)yes=0; i++; } printf(“%d”,x); if(yes) printf(“YES\n”); else printf(“NO\n”); } 4、#include #include voidmain() {floatpi,t,n; intsign=1; pi=0;n=1;t=1; while(fabs(t)>=1e-6) {t=sign/n; pi+=t; n+=2; sign=-sign; } pi=pi*4; printf(“pi=%f\n”,pi); } 5、#include voidmain() {floats=0,t=1; intn; for(n=1;n<=20;n++) {t=t*n; s=s+t; } printf(“1! +2! +……+20! =%f\n”,s); } 6、#include voidmain() {intx,i,a1=0,b1=0,c1=0; for(i=1;i<=10;i++) {printf(“\n请输入第%d个数: ”,i); scanf(“%d”,&x); if(x>0)a1++; elseif(x<0)b1++; elsec1++; } printf(“整数有%d个,负数有%d个,零有%d个\n”,a1,b1,c1); } 实验五综合实验1: 结构化程序设计(2学时) 一、实验方式: 一人一机 二、实验目的: 1、进一步掌握选择结构、循环结构的编程特点。 2、掌握C语言的结构化程序设计思想。 3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。 三、实验内容: 说明: 前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。 设: 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。 (书P93) 2、百马百担问题。 (实验指导书P121) 3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 4、输出如下图案: * *** ***** ******* ***** *** * 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include voidmain() {intscore,temp,logic; chargrade; logic=1; while(logic) {printf(“Inputscore: ”); scanf(“%d”,&score); if(score>100||score<0) printf(“\nError,Inputagain! \n”); else logic=0; printf(“\n”); } if(score==100) temp=9; else temp=score/10; switch(temp) {case9: grade=‘A’;break; case8: grade=‘B’;break; case7: grade=‘C’;break; case6: grade=‘D’;break; default: grade=‘E’; } printf(“Scoreis%d,thegradeis%c.\n”,score,grade); } 2、#include voidmain() {intm,n,k; intsum=0; printf(“各种驮法如下: \n”); for(m=1;m<=100;m++) for(n=1;n<=100-m;n++) {k=100-m-n; if(k%2==0&&m*3+n*2+k/2==100) {printf(“大马%3d匹;中马%3d匹;小马%3d匹.\n”,m,n,k); sum++; } } printf(“共有%d种驮法.\n”,sum); } 3、#include voidmain() {charc; intletter=0,space=0,digit=0,other=0; printf(“请输入一行字符: \n”); while((c=getchar())! =‘\n’) {if(c>=‘a’&&c<=‘z’||c>=‘A’&&c<=‘Z’) letter++; elseif(c==‘’) space++; elseif(c>=‘0’&&c<=‘9’) digit++; else other++; } printf(“字母数=%d,空格数=%d\n”,letter,space); printf(“数字数=%d,其他字符数=%d\n”,digit,other); } 4、#include voidmain() {inti,j,k; for(i=0;i<=3;i++) {for(j=0;j<=2-i;j++)printf(“”); for(k=0;k<=2*i;k++)printf(“*”); printf(“\n”); } for(i=0;i<=2;i++) {for(j=0;j<=i;j++)printf(“”); for(k=0;k<=4-2*i;k++)printf(“*”); printf(“\n”); } } 实验六函数程序设计(4学时) 一、实验方式: 一人一机 二、实验目的: 1、掌握C语言中函数的三要素: 函数定义、函数调用和函数说明。 2、掌握通过参数在函数间传递数据的方法。 3、掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。 三、实验内容: 说明: 前四题为必做题目,后两题为选做题目。 1、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。 (实验指导书P130) 2、输入整数n,输出高度为n的等边三角形。 当n=5时的等边三角形如下: (实验指导书P134) * *** ***** ******* ********* 3、输入并运行以下程序,分析运行结果。 #include inta=5; intb=7; voidmain() {inta=4,b=5,c; c=plus(a,b); printf(“a+b=%d\n”,c); } plus(intx,inty) {intz; z=x+y; return(z); } 4、求500以内的所有亲密数对。 若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。 (实验指导书P136) 5、输入并运行以下程序,分析运行结果。 #include intd=1; fun(intp) {staticintd=5; d+=p; printf(“%d”,d); return(d); } voidmain() {inta=3; printf(“%d”,fun(a+fun(d))); } 6、设计一个函数,输出整数n的所有素数因子。 (书P157) 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include #include floatarea(floata,floatb,floatc) {floats,p,area; s=(a+b+c)/2; p=s*(s-a)*(s-b)*(s-c); area=sqrt(p); return(area); } voidmain() {floatx,y,z,ts; scanf(“%f%f%f”,&x,&y,&z); if(x>0&&y>0&&z>0&&x+y>z&&y+z>x&&x+z>y) {ts=area(x,y,z); printf(“area=%f\n”,ts); } else printf(“dataerror! \n”); } 2、#include voidtrangle(intn) {inti,j; for(i=0;i {for(j=0;j<=n-i;j++)putchar(‘’);/*打印每一行的空格*/ for(j=0;j<=2*i;j++)putchar(‘*’);/*打印每一行的*号*/ putchar(‘\n’); } } voidmain() {intn; printf(“Pleaseentern: ”); scanf(“%d”,&n); printf(“\n”); trangle(n); } 3、a+b=9 4、#include intfacsum(intm) {intsum=1,f=2; while(f<=m/2) {if(m%f==0)sum=sum+f; f++; } returnsum; } voidmain() {intm=3,n,k; while(m<=500) {n=facsum(m); k=facsum(n); if(m==k&&m<=n) printf(“%d,%d\n”,m,n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言上机实验 答案 语言 上机 实验