C语言实验教程题课本.docx
- 文档编号:8019974
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:27
- 大小:19.45KB
C语言实验教程题课本.docx
《C语言实验教程题课本.docx》由会员分享,可在线阅读,更多相关《C语言实验教程题课本.docx(27页珍藏版)》请在冰豆网上搜索。
C语言实验教程题课本
作业标题:
实验七、while和do...while循环结构的使用
作业内容:
编程题:
完成62页第7至第10题
#include
main()
{
long x,r,t=1,m=0;
printf("inputx:
");
scanf("%ld",&x);
do
{
r=x%10;
m=m+r*t;
t=t*8;
x=x/10;
}while(x!
=0);
printf("%d\n",m);
}
结果:
inputx:
124
84
#include
main()
{
longx,r;
printf("inputx:
");
scanf("%ld",&x);
do{
r=x%10;
printf("%d",r);
x=x/10;
}while(x!
=0);
}
inputx:
1358963421
1243698531
#include
#include
#define pi 3.14
main()
{
doublea=0.0,b=pi,s,h;
intn,i;;
do
{
printf("inputn:
");
scanf("%d",&n);
}while(n<100);
h=pi/n;
s=(sin(a)+sin(b))/2;
for(i=1;i<=n-1;i++)
s=s+sin(i*h);
s=s*h;
printf("s=%lf\n",s);
}
结果:
inputn:
14
inputn:
26
inputn:
34
inputn:
42
inputn:
58
inputn:
79
inputn:
85
inputn:
97
inputn:
100
s=1.999834
#include
main()
{
inta=1;
floatm;
do
{
if(a%2==1&&a%3==2&&a%4==3&&a%5==4)break;
a++;
}while
(1);
m=0.5*a;
printf("%.2f\n",m);
}
结果:
29.50
作业标题:
作业2、for循环结构的使用
作业内容:
完成第63页8、9、10题
#include
#include
main()
{
intm,k,i,n=0;
for(m=101;m<=600;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i=i+1)
if(m%i==0) break;
if(i>=k+1) n=n+1;
}
printf("%d\n",n);
}
结果:
84
#include
#include
main()
{
inta;
for(a=1; ;a++)
if((a%3==0)&&(a%5==0)&&(a%6==0))
{
printf("%d\n",a);
break;
}
}
结果:
30
#include
main()
{
inti,k,n=0;
for(i=5;i<=1000;i=i+5)
{
n++;
k=i/5;
while(k%5==0)
{
n++;
k=k/5;
}
}
printf("n=%d\n",n);
}
结果:
249
实验教程63页5,6,7题
#include
main()
{
intn;floats;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf("%6.4f\n",s);
}
结果:
1.0000
1/n是取整运算其结果都是1
s=s+1/n应该为s=s+(float)1/n
有问题程序:
求“水仙花数”
#include"stdio.h"
main()
{
intn,sum,t,m;
sum=0;
for(n=100;n<=999;n++)
{
m=n;
while(n!
=0)
{
t=n%10;
sum=sum+t*t*t;
n=n/10;
}
if(sum==m)
printf("%d\n",m);
}
}
#include
main()
{
inti,a,b,c,sum;
sum=0;
for(i=100;i<=999;i++)
{
a=i%10;
b=i/10-i/100*10;
c=i/100;
sum=a*a*a+b*b*b+c*c*c;
if(i==sum)
printf("%4d\n",i);
}
}
结果:
153
370
371
407
#include
main()
{
inti,n;
n=0;
for(i=1000;i<=9999;i++)
if(i%4==0&&i%10==6)
n++;
printf("%d\n",n);
}
结果:
450
作业标题:
实验十、函数与编译预处理
作业内容:
第70页第六、七题
#include"stdio.h"
intgcd(intm,intn)
{
if(m%n==0)
returnn;
else
returngcd(n,m%n);
}
voidmain()
{
intm,n,t;
scanf("%d,%d",&m,&n);
if(m {t=m;m=n;n=t;} t=gcd(m,n); printf("gcd=%d\n",t); } 结果: 6,94 gcd=2 同时求最大公约数和最小公倍数: #include"stdio.h" intgcd(intm,intn) { if(m%n==0) returnn; else returngcd(n,m%n); } intfcd(intm,intn) { inta,b; if(m%n==0) returnm; else a=m/gcd(m,n); b=n/gcd(m,n); returngcd(m,n)*a*b; } voidmain() { intm,n,t,s; scanf("%d,%d",&m,&n); if(m {t=m;m=n;n=t;} t=gcd(m,n); s=fcd(m,n); printf("gcd=%d,fcd=%d\n",t,s); } 结果: 12,8 gcd=4,fcd=48 #include"stdio.h" main() { inti,j,n; intc(intx,inty); printf("Inputn="); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=0;j<=n-i;j++) printf(""); for(j=1;j<=i;j++) printf("%3d",c(i,j)); printf("\n"); } } intc(intx,inty) { intz; if(y==1||y==x)return1; else {z=c(x-1,y-1)+c(x-1,y); returnz; } } 结果: Inputn=6 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 51010 5 1 实验教程73页第4题 此程序是输入立方体的长宽高l/w/h,球立方体的体积及三个面x*y、x*z,y*z的面积。 注解: 由于C语言规定函数返回值只有一个,本程序中定义了三个外部变量s1,s2,s3,来存放三个面积,其作用域为整个程序,增加了函数返回值数据。 #include"stdio.h" ints1,s2,s3; intvs(inta,intb,intc) { intv; v=a*b*c; s1=a*b; s2=b*c; s3=a*c; returnv; } main() { intv,l,w,h; printf("\ninputlength,widthandheight\n"); scanf("%d%d%d",&l,&w,&h); v=vs(l,w,h); printf("v=%ds1=%ds2=%ds3=%d\n",v,s1,s2,s3); } 结果: inputlength,widthandheight 4 3 6 v=72s1=12s2=18s3=24 作业标题: 实验十一、数组的基本定义与应用 作业内容: 第76页至78页 #include"stdio.h" main() { ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf("%2d",c[i]); printf("\n"); } 结果: 4332 #include"stdio.h" main() { inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t; for(i=0;i<3;i++) for(k=i+1;k<4;k++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 教程 课本