3《C语言程序设计》实验报告30403.docx
《3《C语言程序设计》实验报告30403.docx》由会员分享,可在线阅读,更多相关《3《C语言程序设计》实验报告30403.docx(18页珍藏版)》请在冰豆网上搜索。
![3《C语言程序设计》实验报告30403.docx](https://file1.bdocx.com/fileroot1/2023-2/2/dc5723eb-583a-4b9e-8b0c-13a29429f94e/dc5723eb-583a-4b9e-8b0c-13a29429f94e1.gif)
3《C语言程序设计》实验报告30403
塔里木大学计算机基础课程实验报告
课程名称:
C语言程序设计
任课教师:
杨全丽
机房:
逸209
计算机编号:
实验日期:
20140403
实验成绩:
实验班级:
通信工程17-1、2
学生姓名:
李易昇
实验名称:
实验3循环结构程序设计
实验目的:
1、掌握while、do-while和for三种循环语句的基本应用。
2、掌握break、continue的使用
3、掌握循环的嵌套。
实验步骤与内容:
1、程序改错:
有一数列:
2/1,3/2,5/3,8/5,…求出这个数列的前n项之和。
程序:
#include
main()
{
intn,number=20;/*t?
?
?
?
?
error*/
floatt,a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=a/b+s;/*error*/
t=a;
a=a+b;
b=t;/*error*/
}
printf("sumis%9.6f\n",s);
}
运行结果:
2、程序改错:
输入一个整数,编程逆序输出。
程序:
#include
main()
{
intn;
printf("?
?
?
?
?
?
?
?
:
");
scanf("%d",&n);
do
{
printf("%d",n%10);
n=n/10;
}while(n!
=0);
printf("\n");
}
运行结果:
3、程序填空:
输入一个整数,编程逆序输出,并求其各个位上的数字之和,如5628,输出为8265,和为21。
程序:
#include
main()
{
intn,t,s=0,sum=0;
scanf("%d",&n);
while(n!
=0)
{
t=n%10;
sum=sum+t;
s=s*10+t;
n=n/10;
}
printf("s=%d,sum=%d\n",s,sum);
}
运行结果:
4、程序填空:
某旅行团有男人、女人和小孩共30人,在一家饭馆吃饭,饭钱按人头收费,男人收3元,女人收2元,小孩收1元,共收取50元。
问有几种方案?
每种方案如何?
程序:
#include
main()
{
inti,j,k,n;
n=0;
for(i=1;i<17;i++)
for(j=1;j<=25;j++)
{
k=30-i-j;
if(k>=1)
if(3*k+2*i+j==50)
{
printf("i=%d,j=%d,k=%d\n",i,j,k);
n++;
}
}603571
printf("n=%d",n);
}
运行结果:
5、程序填空:
输出100以内个位数为6且能被3整除的所有数。
#include
main()
{
inti,j;
for(i=0;i<=9;i++)
{
j=i*10+6;
if(j%3==0)continue;
printf("%10d",j);
}
}
运行结果:
6、程序填空:
计算100-10000之间有多少个数其各位数字之和等于5。
#include
main()
{
inti,s,k,count=0;
for(i=100;i<=10000;i++)
{
s=0;
k=i;
while(k>0)
{
s+=k%10;
k=k/10;
}
if(s!
=5)
continue;
else
count++;
}
printf("%d\n",count);
}运行结果:
7、从键盘上输入一个整数n,求1+2+3+…+n。
程序:
#include
main()
{
inti,sum=0,j;
scanf("%d",&i);
for(j=0;j<=i;j++)
sum=sum+j;
printf("%d\n",sum);
}
运行结果(从键盘上输入100):
8、从键盘输入一个数n,判断这个数的奇偶性,如果是奇数求奇数和1+3+5+7+…+n,如是偶数求偶数和2+4+6+…+n。
程序:
#include
main()
{intn,sum=0,j;
scanf("%d",&n);
if(n%2==0)
{
for(j=0;j<=n;j++)
{if(j%2==0)
sum=sum+j;}}
else
{{for(j=0;j<=n;j++)
{if(j%2!
=0)
sum=sum+j;}}
}
printf("%d",sum);
}
运行结果(从键盘上输入100):
9、从键盘上输入一个整数n,求
。
程序:
#include"stdio.h"
voidmain()
{intn,i=1;
floatsum=0,a=1,f,F;
scanf("%d",&n);
if(n%2==0)
{for(;i<=n/2;i++)
{F=2*i;
f=F-1;
sum=sum+a/f-a/F;
}}
else
{for(;i<=n/2;i++)
{F=2*i;
f=F-1;
sum=sum+a/f-a/F;
if(n-2*i==1)
{f=2*i+1;
sum=sum+a/f;}}}
printf("%f",sum);
}
运行结果(从键盘上输入10):
10、从键盘上输入一个整数n,求n!
。
程序:
#include"stdio.h"
voidmain()
{intn,i;
longsum=0,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s*i;
sum=sum+s;
printf("%ld",sum);
}
运行结果(从键盘上输入10):
11、从键盘上输入一个整数n,求1!
+2!
+3!
+…+n!
。
程序:
#include"stdio.h"
voidmain()
{intn,i;
longsum=0,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{s=s*i;
sum=sum+s;}
printf("%ld",sum);
}
运行结果(从键盘上输入10):
12、打印所有的“水仙花数”。
“水仙花数”是一个三位数,其各位数立方和等于该数本身。
程序:
#include"stdio.h"
voidmain()
{intn,a,b,c;
for(n=100;n<=999;n++)
{a=n%10;
b=n/10%10;
c=n/100;
if(a*a*a+b*b*b+c*c*c==n)
printf("%d\n",n);}
}
运行结果:
13、给定参考程序,实现判断n是否是素数的功能。
程序:
#include
main()
{
inti,n,f,sum=0;
for(n=2;n<=100;n++)
{for(i=2;iif(n%i>0)
f=0;
sum=sum+f;
else
f=1;
sum=sum+f;
if(sum==0)
printf(“%d”,n);
}
参考以上程序,编程实现2-100之间的所有素数。
程序:
#include
main()
{
inti,n,f,sum=0;
for(n=2;n<=100;n++)
{
for(i=2;i{if(n%i>0)
{f=0;sum=sum+f;}
else
{f=1;sum=sum+f;}}sum=0;
if(sum==0)
printf("%d\n",n);
}
}
或
#include
intsus(intn)
{
inti,f,sum=0;
for(i=2;i{if(n%i>0)
{f=0;sum=sum+f;}
else
{f=1;sum=sum+f;}}
if(sum==0)
return1;
else
return0;
}
main()
{intk;
for(k=2;k<=100;k++)
if(sus(k)==1)
printf("%d\n",k);}
运行结果:
14、打印下列图案
*
***
*****
*******
程序:
#include
main()
{
inti,n,f;
for(n=1;n<=4;n++)
{for(i=1;i<=2*n-1;i++)
printf("*");
printf("\n");}
}
运行结果: