C语言实验.doc

上传人:b****1 文档编号:230185 上传时间:2022-10-07 格式:DOC 页数:40 大小:126KB
下载 相关 举报
C语言实验.doc_第1页
第1页 / 共40页
C语言实验.doc_第2页
第2页 / 共40页
C语言实验.doc_第3页
第3页 / 共40页
C语言实验.doc_第4页
第4页 / 共40页
C语言实验.doc_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

C语言实验.doc

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

C语言实验.doc

扬州大学信息工程学院

实验报告

课程名称C语言程序设计

学生姓名

班级

学号

指导老师

2012年5月18日

自己写的程序

4.8设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

#include"stdio.h"

voidmain()

{

floatr,h,C,s,S,v,V;

floatp=3.141592;

scanf("%f,%f",&r,&h);

C=2*p*r;

s=p*r*r;

S=4*p*r*r;

v=4.0/3.0*p*r*r*r;

V=p*r*r*h;

printf("圆周长为:

%6.2f\n",C);

printf("圆面积为:

%6.2f\n",s);

printf("圆球表面积为:

%6.2f\n",S);

printf("圆球体积为:

%6.2f\n",v);

printf("圆柱体积为:

%6.2f\n",V);

getch();

}

运行结果:

3,4,

圆周长为:

18.85

圆面积为:

28.27

圆球表面积为:

113.10

圆球体积为:

113.10

圆柱体积为:

113.10

4.9输入一个华氏温度,要求输出摄氏温度。

公式为C=5/9(F-32),输出要有文字说明,取两位小数。

#include"stdio.h"

voidmain()

{

floatc,F;

scanf("%f",&F);

c=5.0/9.0*(F-32);

printf("华氏温度为:

%6.2f",c);

getch();

}

运行结果:

华氏温度为:

15.56

6.1输入两个正整数m和n,求其最大公约数和最小公倍数。

#include

#include

voidmain()

{

intm,n,i,j;

printf("输入两个正整数:

");

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

for(i=n;;i--)

{

if((m%i==0)&&(n%i==0))

{printf("其最大公约数为:

%d\n",i);break;}

}

for(j=m;;j=j+m)

{

if(j%n==0)

{printf("m和n的最小公倍数为:

%d\n",j);break;}

}

getch();

}

运行结果:

输入两个正整数:

15,66

其最大公约数为:

3

m和n的最小公倍数为:

330

6.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

#include"stdio.h"

#include"conio.h"

voidmain()

{

charc;

inti=0,j=0,k=0,m=0;

printf("输入一行字符:

");

while((c=getchar())!

='\n')

{if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

i++;

elseif(c=='')

j++;

elseif((c>='0')&&(c<='9'))

k++;

elsej++;}

printf("其中英文字母%d个\n空格%d个\n数字%d个\n其他字符%d个\n",i,j,k,m);

getch();

}

未能运行,原因:

15行j++错误。

修改后

运行结果:

6.3求S=a+aa+aaa+…+aaa…a之值,其中a是一个数字,n表示a的位数。

#include"stdio.h"

#include"conio.h"

voidmain()

{inta,n,i,sum;

printf("输入a,n:

");

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

for(i=1,sum=0;n>0;n--)

{sum=sum+n*a*i;

i=i*10;}

printf("a+aa+aaa+…=%d\n",sum);

getch();

}

运行结果:

输入a,n:

2,5

a+aa+aaa+…=24690

6.4求1!

+2!

+3!

+…+20!

#include"stdio.h"

#include"conio.h"

voidmain()

{

inti;

floatsum,t;

for(i=1,sum=0,t=1;i<=20;i++)

{t=t*i;

sum=sum+t;}

printf("1!

+2!

+3!

+…+20!

=%e\n",sum);

getch();

}

运行结果:

2.56133e+18

6.5求和1+2+3…+100+1^2+2^2+3^2+…50^2+1/1+1/2+1/3+…1/10。

#include

voidmain()

{

floatk,i,j,n,sum;

for(k=1,i=0;k<=100;k++)

i=i+k;

for(k=1,j=0;k<=50;k++)

j=j+k*k;

for(k=1,n=0;k<=10;k++)

n=n+1/k;

sum=i+j+n;

printf("其值为:

%8.2f\n",sum);

getch();

}

运行结果:

其值为:

47977.93

6.7一个数如果恰好等于它的因子之和,这个数就称为“完数”。

编程找出1000之内的所有完数,并按下面格式输出其因子:

6itsfactorsare1,2,3.

#include

voidmain()

{intn,i,j;

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

{

for(i=1,j=0;i

if(n%i==0)

j=j+i;

if(n==j)

{printf("%ditsfactorsare",n);

for(i=1;i

if(n%i==0)

printf("%d,",i);

printf("\n");}

}

getch();

}

运行结果:

6.8有一分数序列2/1,3/2,5/3,,8/5,13/8,21/13…求这个数列的前20项之和。

#include

voidmain()

{

inti;

floatsum=0,m=1,n=2;

for(i=1;i<21;i++)

{sum=sum+n/m;

n=m+n;

m=n-m;

}

printf("这个数列的前20项之和为%8.3f\n",sum);

getch();

}

运行结果:

这个数列的前20项之和为

6.9一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。

求它在第十次落地时,共经过多少米?

第十次反弹多高?

#include

voidmain()

{

inti;floats,l,h;

s=100;l=100;h=100;

for(i=2;i<11;i++)

s=s+l;

l=l/2;

printf("第10次落地时共经过%f米\n",s);

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

h=h/2;

printf("第10次反弹高度为%f米",h);

getch();

}

运行结果:

6.15两个兵乓球队进行比赛,各出3人。

甲队为A,B,C三人,乙队为X,Y,Z三人。

已抽签决定比赛名单。

有人向队员打听比赛名单,A说他不和X比,C说他不和X,Z比,请编程序找出三队赛手的名单。

#include"stdio.h"

#include"conio.h"

voidmain()

{

chari,j,k;

for(i='X';i<='Z';i++)

for(j='X';j<='Z';j++)

for(k='X';k<='Z';k++)

if(i!

=j&&i!

=k&&j!

=k)

if(i!

='X'&&k!

='X'&&k!

='Z')

printf("A--%c\nB--%c\nC--%c\n",i,j,k);

getch();

}

运行结果:

7.1用筛选法求100之内的素数。

#include"stdio.h"

#include"math.h"

voidmain()

{inta[101],i,j,n;

for(i=1;i<=100;i++)

a[i]=i;

for(i=2;i

{for(j=i+1;j<=99;j++)

{if(a[i]!

=0&&a[j]!

=0)

if(a[j]%a[i]==0)

a[j]=0;}}

for(i=0,n=0;i<=99;i++)

if(a[i]!

=0)

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

n++;

if(n%5==0)

printf("\n");}

getch();

}

运行结果:

7.2用选择法对10个整数排序。

#include"stdio.h"

#include"math.h"

voidmain()

{

inti,j,t=0,min,a[11];

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

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

printf("原数据为:

\n");

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

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

printf("\n");

for(i=1;i<=9;i++)

{min=i;

for(j=i+1;j<=10;j++)

if(a[min]>a[j])

min=j;

t=a[i];

a[i]=a[min];

a[min]=t;}

printf("按从小到大的顺序排列为:

\n");

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

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

getch();

}

运行结果:

8.1写两个函数,分别

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

当前位置:首页 > 考试认证 > IT认证

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

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