您的位置:首页 > 其它

第四次作业

2016-10-13 11:45 225 查看











《C语言程序设计》实验报告

学  号

160809226

姓  名

吉洋

专业、班

计科16-2班

学 期

2016-2017 第1学期

指导教师

黄俊莲 吉吉老师

实验地点

C05

机 器 号

时 间

2016年 10 月 13 日 6 周 周四 1、2 节

截至日期

2016.10.13 11:50

实验任务清单

实验3-1 分别使用while循环、do while循环、for循环求 (即求1+2+3+ ……+100)

实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。

实验3-3 求 。

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

实验3-5输入两个正整数m和n,求其最大公约数和最小公倍数。

实验3-6输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。

教师评语

成绩

实验3 循环结构程序设计

实验3-1 分别使用while循环、do while循环、for循环求 (即求1+2+3+ ……+100)。

参考:

源码:

#include <stdio.h>

int main(){

//使用for循环完成1+2+......+100

int i,sum = 0;

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

sum +=i; //sum = sum + i;

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

//使用do while循环完成,,,

i = 1;

sum = 0;

do{

sum += i;

i++;

} while (i<=100);

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

return 0;

}

运行结果抓图

实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。

提示:

依照实验3-1求n!,其中n!=1*2*3……*n

源码

#include <stdio.h>

int main(){

//while循环求n!=n*(n-1)*(n-2)*.....*1

int n,i,jiec=1;

//n:从键盘输入

scanf("%d",&n);

i = n;

while(i>=1){

jiec = jiec * i;

i--;

}

printf("%d!=%d\n",n,jiec);

return 0;

}

运行结果抓图:

实验3-3 求 。

程序源码

运行结果抓图

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

实验提示:

程序源码

#include <stdio.h>

int main(){

//41 asd 324 2 ssd?!

char c;

int zm=0,sz=0,kg=0,qt=0;

while((c=getchar())!='\n'){

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

zm++;

else if(c==' ')

kg++;

else if(c>='0'&&c<='9')

sz++;

else

qt++;

}

printf("字母的个数:%d\n",zm);

printf("空格的个数:%d\n",kg);

printf("数字的个数:%d\n",sz);

printf("其他个数:%d\n",qt);

return 0;

}

运行结果抓图

实验3-5输入两个正整数m和n,求其最大公约数和最小公倍数。

程序源码

#include<stdio.h>

int main(){

int m,n,t,i;

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,i");

return 0;

}

运行结果抓图

实验3-6 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。

程序源码

运行结果抓图

#include <stdio.h>

int main(){

int n,a,b,c;

for(n=100;n<=999;n++){

a=n%10;

b=n/10%10;

c=n/100;

if(n==a*a*a+b*b*b+c*c*c)

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

}

}

实验心得

这次在老师的引导下把课上作业完成了,感觉很开心,不过有道题不清楚怎么写,就放弃了,感觉和高中学的VB还是有很大差别的,但是编码思想还是差不多的,记得以前写水仙花数和这次差不多,但时间久了还是忘了,还好老师讲的听懂了,希望我能够一直进步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: