C语言上机实验 答案.docx

上传人:b****4 文档编号:24229215 上传时间:2023-05-25 格式:DOCX 页数:45 大小:27.87KB
下载 相关 举报
C语言上机实验 答案.docx_第1页
第1页 / 共45页
C语言上机实验 答案.docx_第2页
第2页 / 共45页
C语言上机实验 答案.docx_第3页
第3页 / 共45页
C语言上机实验 答案.docx_第4页
第4页 / 共45页
C语言上机实验 答案.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

C语言上机实验 答案.docx

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

C语言上机实验 答案.docx

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<>

#definePI

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=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)/;

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);

m++;

}

}

5、61515

6、#include<>

intprime(intn)

{inti,flag=1;

for(i=2;i<=n/2;i++)

if(n%i==0)

{flag=0;

retunflag;

}

returnflag;

}

voidfactor(intn)

{inti;

i=2;

while(i<=n)

{if((n%i==0)&&pri

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

当前位置:首页 > 自然科学 > 物理

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

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