C语言实验一到实验八答案.docx

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

C语言实验一到实验八答案.docx

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

C语言实验一到实验八答案.docx

C语言实验一到实验八答案

实验一:

1、录入如下C源程序:

 main()

 {printf("ThisisaCProgram\n")

 printf("Iamastudent\n");

 }

main()

{printf("ThisisaCProgram\n");

printf("Iamastudent\n");

}

2、编写一个C程序,第一行显示你的名字,第二行显示你所在的街道地址,第三行显示你所在的城市和邮政编码。

#include

intmain()

{printf("JoeSmith");

printf("\n99SomewhereStreet");

printf("\nNonesuch,N.J.,07030");

return0;

}

3、编写一个C程序,输出以下信息:

****************************

Hello,World!

****************************

#include

main()

{

printf("***********************\n");

printf("Hello,World!

\n");

printf("***********************\n");

}

4、编程序,输出如下图形:

**

****

******

********

#include

main()

{

printf("**\n");

printf("****\n");

printf("******\n");

printf("********\n");

}

5、遵循良好的编程习惯重新编写下列程序

#include

intmain(

){

printf

“Thetimehascome”

);}

#include

intmain()

{printf("Thetimehascome");

}

6、输入以下程序,查找错误并改正,输出正确的运算结果

#include

voidmain()

{inta,b

a=123;b=456;

sum=a+b

print(sumis%d\n,sum);

}

#include

voidmain()

{inta,b,sum;

a=123;b=456;

sum=a+b;

printf("sumis%d\n",sum);

}

7、编写一个C程序,显示表达式3.0*5.0,7.1*8.3-2.2和3.2/(6.1*5)的结果。

#include

intmain()

{

printf("3.0*5.0=%f\n",3.0*5.0);

printf("7.1*8.3-2.2=%f\n",7.1*8.3-2.2);

printf("3.2/(6.1*5)=%f\n",3.2/(6.1*5));

return0;

}

实验二:

1、编写程序,在程序中定义a=5,b=7,c=71,x=31.19,y=-31.2

实现下面的输出格式和结果(U表示空格):

a=U5,b=U7,a-b=-2,c=U71%

x=31.19,y=U-31.2,z=-31.2U,k=31.1900

#include

main()

{inta=5,b=7,c=71;

floatx=31.19,y=-31.2,z,k;

printf("\na=%2d,b=%2d,a-b=%d,c=%3d%%\n",a,b,a-b,c);

printf("x=%5.2f,y=%6.1f,z=%-6.1f,k=%.4f",x,y,y,x);

}

2、编写程序,显示下面的提示:

Enterthelengthoftheroom:

Enterthewidthoftheroom:

在显示每个提示后,你的程序应该使用scanf()函数调用为所显示的提示接受来自键盘的数据。

在输入长度和宽度后,程序应该计算和显示面积,要求结果只保留两位小数。

#include

main()

{floatl,w,a;

printf("\nEnterthelengthoftheroom:

\n");

scanf("%f",&l);

printf("\nEnterthewidthoftheroom:

\n");

scanf("%f",&w);

a=l*w;

printf("\nlength=%.2f,width=%.2f,area=%.2f\n",l,w,a);

}

3、编写程序,将小写字母转换成大写字母。

要求通过scanf()函数接受来自键盘的字母。

(ASCII码中小写字母比它相应的大写字母ASCII码大32)

#include

main()

{

charc;

scanf("%c",&c);

c=c-32;

printf("%c\n",c);

}

#include

main()

{charc,C;

printf("\nPlease:

\n");

scanf("%c",&c);

C=c-32;

printf("small=%c,large=%c",c,C);

}

4、编写一个程序,计算和显示一年中分钟的数量。

#include

main()

{

longinta,b,c,sum;

a=60;b=24;c=365;;

sum=a*b*c;

printf("\nsum=%ld\n",sum);

}

5编写一个程序,首先显示下面的提示:

EnterthetemperatureindegreesFahrenheit:

程序接收一个从键盘输入的数值并用公式

Celsius=(5.0/9.0)*(Fahrenheit-32.0)把输入的华氏温度转化为摄氏温度值,并输出摄氏温度值,要求结果只保留三位小数。

#include

main()

{floatf,c;

printf("\nEnterthetemperatureindegreesFahrenheit:

\n");

scanf("%f",&f);

printf("Celsius=%.3f",(5.0/9.0)*(f-32.0));

}

6、编写一个程序,使用%d转换控制序列符分别显示小写字母a,m,n的十进制整数值。

#include

main()

{printf("\na=%d,m=%d,n=%d\n",'a','m','n');

}

实验三:

1、编写一个程序,要求用户输入两个数字。

在程序使用一个或多个scanf()函数调用接收这些数字之后,用程序检查这些数字。

如果第一个键入的数字大于第二个数字则输出消息“Thefirstnumberisgreaterthanthesecond”,否则输出消息“Thefirstnumberisnotgreaterthanthesecond”.

#include

main()

{

intx,y;

scanf("%d%d",&x,&y);

if(x>y)printf("\nThefirstnumberisgreaterthanthesecond\n");

elseprintf("\nThefirstnumberisnotgreaterthanthesecond\n");

}

2、输入3个数a,b,c,要求按由小到大的顺序输出。

#include

main()

{

inta,b,c,x;

scanf("%d%d%d",&a,&b,&c);

if(a>b){x=a;a=b;b=x;}

if(a>c){x=a;a=c;c=x;}

if(b>c){x=b;b=c;c=x;}

printf("\n%d%d%d\n",a,b,c);

}

3、编写一个程序,用scanf()函数接收一个字符并确定这个字符是否是一个小写字母。

如果输入的字符是一个小写字母,显示消息“Thecharacterjustenteredisalowercaseletter”,如果输入的字符不是一个小写字母,显示消息“Thecharacterjustenteredisnotalowercaseletter”。

#include

main()

{

charc;

scanf("%c",&c);

if(c>='a'&&c<='z')

printf("\nThecharacterjustenteredisalowercaseletter\n");

elseprintf("\nThecharacterjustenteredisnotlowercaseletter\n");

}

4、有一个函数X(X<1)

y=2X-1(1≤X<10)

3X-11(X≥10)

要求输入x值,输出y值。

#include

main()

{

intx,y;

scanf("%d",&x);

if(x<1){y=x;printf("\ny=x%d\n",y);}

elseif(x<10){y=2*x-1;printf("\ny=2x-1%d\n",y);}

else{y=3*x-11;printf("\ny=3x-11%d\n",y);}

}

5、输入百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。

90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’

#include

main()

{floats;

charg;

scanf(“%f”,&s);

while(s>100||s<0)

{printf(“\nPlease\n”);

scanf(“%f”,&s)

}

switch((int)(s/10))

{case10:

case9:

g=’A’;break;

case8:

g=’B’;break;

case7:

g=’C’;break;

case6:

g=’D’;break;

case5:

case4:

case3:

case2:

case1:

case0:

g=’E’;

}

printf(“%c”,g);

}

实验四:

1、编写程序用while循环实现以2为增量输出数字2到10。

程序输出应该是:

246810

#include

main()

{inti=2;

printf("\n");

while(i<=10)

{printf("%d",i);

i=i+2;

}

}

2、求

(用while语句编程)5050

#include

main()

{

intn=1,sum=0;

while(n<=100)

{sum=sum+n;n=n+1;}

printf("\n%d",sum);

}

3、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

例如,153是“水仙花数”,因为153=13+53+33。

153,370,371,407

#include

main()

{

intn,x,y,z;

printf("\n");

for(n=100;n<1000;n++)

{x=n/100;

y=(n/10)-(n/100)*10;或y=n%100/10;

z=n%10;

if(n==x*x*x+y*y*y+z*z*z)printf("%d",n);

}

printf("\n");

}

4、选择和显示可被3除尽的前20个整数

#include

main()

{intn,x,y;

printf("\n");

for(n=0,x=0;n<20;x++)

{if(x%3==0){printf("%d",x);n=n+1;}

}

printf("\n");

}

5、把100-200之间的不能被3整除的数输出

#include

main()

{intn;

printf("\n");

for(n=100;n<=200;n++)

{if(n%3!

=0)printf("%d",n);}

printf("\n");

}

实验五:

1、编写一个名为Ads()的函数,接收传递给它的一个单精度数,计算它的绝对值且显示这个绝对值。

#include

floatAds(floatx)

{floaty;

if(x>=0)y=x;

elsey=-x;

return(y);

}

main()

{floatx,y;

scanf("%f",&x);

y=Ads(x);

printf("\n%f%f\n",x,y);

}

2、写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。

#include

abc(int);

main()

{intx,y;

scanf("%d",&x);

printf("\n");

abc(x);

}

abc(inta)

{inti,j;

for(i=2,j=1;i

{if(a%i==0){j=0;break;}}

if(j==1)printf("OK\n");

elseprintf("NOT\n");

}

3、编写一个函数。

计算一个圆的面积a,已知它的周长为c。

这个函数应该调用另一个返回这个给定周长c的圆半径r的函数。

相关公式为:

r=c/2∏和a=∏r2

#include

#definePI3.14

floatradius(floatl)

{floatrad;

rad=l/(2*PI);

returnrad;

}

floatarea(floatc)

{floata,r;

r=radius(c);

a=PI*r*r;

return(a);

}

main()

{floatc,r,a;

printf("\n");

scanf("%f",&c);

a=area(c);

printf("area=%f\n",a);

}

4、编写一个名为whole()的函数,返回传递给这个函数的整数部分。

#include

intinty(floaty)

{intn;

n=y;

return(n);

}

main()

{intx;

floaty;

scanf("%f",&y);

x=inty(y);

printf("%d\n",x);

}

5、xn的数值能够递归的定义为:

X0=1Xn=X*Xn-1编写一个递归函数,返回xn的值

#include

intpower(intx,intn)

{inty;

if(n==0)return1;

elsey=x*power(x,n-1);

return(y);

}

main()

{intx,n,s;

scanf("%d%d",&x,&n);

s=power(x,n);

printf("%d",s);

}

实验六:

1、编写一个程序,输入5个整数数字到一个一维数组中,所有数字输入后,显示输入的这些数字,并且显示数组的平均值,最大值,最小值。

#include

main()

{floatsum=0,x;

inta[5],i,max,min;

for(i=0;i<5;i++)

scanf("%d",&a[i]);

printf("\n");

max=min=a[0];

for(i=0;i<5;i++)

{printf("%d",a[i]);

sum=sum+a[i];

if(a[i]>max)max=a[i];

if(a[i]

}

x=sum/5;

printf("\n%5.2fmax=%dmin=%d\n",x,max,min);

}

2、输入一串字符,计算其中空格的个数

#include

main()

{inti,j;

chara[50];

gets(a);

for(i=0,j=0;i

{if(a[i]=='')j=j+1;}

printf("\n%d\n",j);

}

3、求一个3*3矩阵对角线元素之和

#include

main()

{inti,j,a[3][3],sum=0;

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

}

for(i=0;i<3;i++)

{sum=sum+a[i][i];}

printf("\nsum=%d\n",sum);

}

4、有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。

#include

main()

{inti,j,a[3][4],max,x,y;

for(i=0;i<3;i++)

{for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

}

max=a[0][0];

for(i=0;i<3;i++)

{for(j=0;j<4;j++)

if(a[i][j]>max)

{max=a[i][j];x=i;y=j;}

}

printf("\nmax=%d,x=%d,y=%d\n",max,x,y);

}

5、将一个一维数组中的值按逆序重新存放。

#include

main()

{inta[10],i,x;

for(i=0;i<10;i++)

{scanf("%d",&a[i]);

}

for(i=0;i<5;i++)

{x=a[i];a[i]=a[9-i];a[9-i]=x;}

printf("\n");

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

}

6、一篇文章,共有3行文字,每行有20个字符,要求分别统计出其中英文大写字母,小写字母,数字,空格以及其它字符的个数。

#include

main()

{inti,j,x,y,s,k,q;

chara[3][20];

x=0;y=0;s=0;k=0;q=0;

gets(a);

for(i=0;i<3;i++)

{

for(j=0;j<20&&a[i][j]!

='\0';j++)

if(a[i][j]>='A'&&a[i][j]<='Z')x=x+1;

elseif(a[i][j]>='a'&&a[i][j]<='z')y=y+1;

elseif(a[i][j]>='0'&&a[i][j]<='9')s=s+1;

elseif(a[i][j]=='')k=k+1;

elseq=q+1;

}

printf("\nx=%d,y=%d,s=%d,k=%d,q=%d\n",x,y,s,k,q);

}

实验七:

1、输入3个整数,按由大到小的顺序输出。

#include

max(int*x,int*y)

{intm;

m=*x;*x=*y;*y=m;

}

main()

{inta,b,c,*p,*q,*r;

printf("\n");

scanf("%d%d%d",&a,&b,&c);

p=&a;

q=&b;

r=&c;

if(a

if(a

if(b

printf("\n%d,%d,%d\n",a,b,c);

}

2、写一个函数,求一个字符串的长度。

在main函数中输入字符串,并输出其长度。

#include

main()

{intn,m=0;

chara[50],*p;

scanf("%s",a);

p=a;

printf("\n");

for(n=0;n<50;n++,p++)

{if(*p!

='\0'){printf("%c",*p);m++;}

elsebreak;

}

printf("\nsum=%d",m);

}

3、将n个数按输入时顺序的逆序排列,用函数实现。

#include

reverse(int*p)

{intn,x,*p1,*p2;

for(n=0;n<2;n++)

{p1=p+n;

p2=p+4-n;

x=*p1;*p1=*p2;*p2=x;

}

}

main()

{intn,a[5];

printf("\n");

for(n=0;n<5;n++)

scanf("%d",&a[n]);

reverse(a);

printf("\n");

for(n=0;n<5;n++)

printf("%d",a[n]);

}

4、编写一个程序,输入月份号,输出该月的英文月名。

例如,输入“3”,则输出“March”,要求用指针数组处理。

#include

main()

{intn;

char*p,*month[13]={"","January","February","March","April","May","June","July","August","September","Octorber","November","December"};

printf("\n");

scanf("%d",&n);

if((n>=1)&&(n<=12))

printf("\n%s\n",*(month+n));

elseprintf("\nERROR\n");

}

5、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

写3个函数:

①输入10个数;②进行处理;③输出10个数。

#include

input(int*p)

{intn;

for(n=0;n<10;n++,p++)

scanf("%d",p);

}

max_mi

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

当前位置:首页 > 高等教育 > 法学

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

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