课上作业。

《C语言程序设计》实验报告
学  号	160809229	姓  名	马寅武	专业、班	计科16-2班
学    期	2016-2017 第1学期	指导教师	黄俊莲 吉吉老师
实验地点	C05	机 器 号	
时    间	2016年 10 月 13 日    6 周 周四  1、2 节
截至日期	2016.10.13 11:50
实验任务清单	1.实验3-1 分别使用while循环、do while循环、for循环求(即求1+2+3+ ……+100)
2.实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。
3.实验3-3 求。
4.实验3-4输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
5.实验3-5输入两个正整数m和n,求其最大公约数和最小公倍数。
6.实验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);
		//使用while完成,,,,
		i = 1;
		while(i<=100){
			sum += i;
			i++;
		} 
		printf("sum = %d\n",sum);
		return 0 ;
} 
运行结果抓图
实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。
提示:
1.依照实验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 求。
程序源码

#include <stdio.h>
int main(){
	int k,sum = 0;
	for(k=1;k<=100;k++)
		sum += k;
	printf("sum=%d\n",sum);
	
	for(k=1;k<=50;k++)
		sum = sum + k*k;
	printf("sum=%d\n",sum);
	return 0;
}
运行结果抓图
实验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,min,i,t;
	scanf("%d%d",&m,&n);
	min=(m<n)?m:n;
	for(i=min;i>=1;i--)
		if(m%i==0&&n%i==0){t=i;break;};
	printf("最大公约数是:%d",t);
	printf("最小公倍数是:%d\n",m*n/t);
	return 0;
}

运行结果抓图



实验3-6 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。
程序源码
#include<stdio.h>
#include<math.h>
int main(){
 	int a1,a2,a3,a4,a5,a6,a,b,i;
 	for(i=100;i<=10000;i++) 
 	{ 
	a=i; 
	a1=a%10;
  	a2=(a/10)%10;
	a3=(a/100)%10;
	a4=(a/1000)%10;
	a5=(a/10000)%10; 
  	a6=(a/100000)%10; 
  	b=(a1*a1*a1)+(a2*a2*a2)+(a3*a3*a3)+(a4*a4*a4)+(a5*a5*a5)+(a6*a6*a6); 
  	if(b==i)
   	printf("%d\n",i); 
	}
}

运行结果抓图


实验心得

这次的作业是课上作业,是在老师的指导下完成的,比以往的作业要简单一些,第一题的最后一个方法虽然是按照给的源码输入的,但是输出的数值不是正确数值,不知道是因为什么,然后就是第二题要求按照第一题那个样子弄,有点蒙,希望可以学到更多的知识。

  

posted @ 2016-10-13 11:28  马寅武  阅读(145)  评论(1编辑  收藏  举报