吴渴楨 160809206
·《C语言程序设计》实验报告
学 号 |
|
姓 名 |
|
专业、班 |
计科16-2班 |
|
学 期 |
2016-2017 第1学期 |
指导教师 |
黄俊莲 吉吉老师 |
|||
实验地点 |
C05 |
机 器 号 |
|
|||
时 间 |
2016年 10 月 13 日 6 周 周四 1、2 节 |
|||||
截至日期 |
2016.10.13 11:50 |
|||||
实验任务清单 |
|
|||||
教师评语
|
成绩 |
|||||
|
||||||
实验3 循环结构程序设计
实验3-1 分别使用while循环、do while循环、for循环求(即求1+2+3+ ……+100)。
参考:
源码:
#include <stdio.h>
int main(){
int i,sum=0;
i=1;
while(i<=100){
sum +=i;
i++;
}
printf("sum=%d",sum);
i=1;
sum=0;
do{
sum+=1;
i++;
}while(i<=100);
printf("sum=%d",sum);
sum=0;
for(i=1;i<=100;i++)
sum +=i;
printf("sum=%d",sum);
return 0;
}
运行结果抓图
实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。
提示:
- 依照实验3-1求n!,其中n!=1*2*3……*n
源码
#include <stdio.h>
int main(){
int i,n,sum=1;
printf("输入一个数");
scanf("%d",&n);
i=n;
while(i>=1){
sum=sum*i;
i--;
}
printf("n!=%d",sum);
return 0;
}
#include <stdio.h>
int main(){
int i,n,sum=1;
printf("输入一个数");
scanf("%d",&n);
i=n;
do{
sum=sum*i;
i--;
}while(i>=1);
printf("n!=%d",sum);
return 0;
}
#include <stdio.h>
int main(){
int i,n,sum=1;
printf("输入一个数");
scanf("%d",&n);
i=n;
for(i=n;i>=1;i--)
sum=sum*i;
printf("n!=%d",sum);
return 0;
}
运行结果抓图:
实验3-3 求。
程序源码
#include <stdio.h>
int main(){
int k;
float sum=0;
for(k=1;k<=100;k++)
sum += k;
for(k=1;k<=50;k++)
sum=sum+k*k;
for(k=1;k<=10;k++)
sum=sum+1.0/k;
printf("和为:%.2f",sum);
return 0;
}
运行结果抓图
实验3-4输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
实验提示:
程序源码
#include <stdio.h>
int main(){
char c;
int zm=0,sz=0,kg=0,qt=0;
while((c=getchar())!='\n'){
if((c>='a'&&c<='z')||c>='A'&&c<='A')
zm++;
else if(c==' ')
kg++;
else if(c>='0'&&c<='9')
sz++;
else
qt++
运行结果抓图
实验3-5输入两个正整数m和n,求其最大公约数和最小公倍数。
程序源码
#include<stdio.h>
int main(){
int m,n,t,i,l;
printf("输入俩整数");
scanf("%d%d",&m,&n);
if(n>m){
t=m;
m=n;
n=t;
}
for(i=n;i>=1;i--)
if(m%i==0&&n%i==0)
break;
printf("m=%d n=%d",m,n);
if(i=!0)
printf("最大公约数为%d\n",i);
l=(m+n)/i;
printf("最大公倍数为%d",l) ;
return 0;
}
运行结果抓图
实验3-6 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。
程序源码
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
getchar();
return 0;
}
运行结果抓图
实验心得
在使用循环结构的能力上提升了一个档次 逻辑思维很重要