首页 > 代码库 > class training

class training

实验3-1 分别使用while循环、do while循环、for循环求 (即求1+2+3+ ……+100)。参考: 源码方法一#include<stdio.h>int main(){	int i,sum=0;	for(i=1;i<=100;i++)		sum+=1;		printf("sum=%d\n",sum);		return 0;}运行结果抓图 
技术分享
方法二#include<stdio.h>int main(){	int i,sum=0;	i=1;	while(i<=100){		sum+=i;		i++;	}	printf("%d\n",sum);		return 0;}方法三#include<stdio.h>int main(){	int i,sum=0;	i=1;	do{		sum+=i;		i++;	}while(i<=100);	printf("%d\n",sum);		return 0;} 实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。提示:1.	依照实验3-1求n!,其中n!=1*2*3……*n源码While方法:#include <stdio.h>int main(){    int i,sum=1,n;    i=1;    printf("请输入n的值:");    scanf("%d",&n);    while(i<=n)    {        sum=sum*i;        i++;    }    printf("sum=%d\n",sum);    return 0;}do while:include <stdio.h>int main(){    int i,sum=1,n;    i=1;    printf("请输入n的值:");    scanf("%d",&n);    do{}        sum=sum*i;        i++;    }while(i<=n);    printf("sum=%d\n",sum);    return 0;}For循环#include <stdio.h>int main(){    int i,sum=1,n;    printf("请输入n的值:");    scanf("%d",&n);    for(i=1;i<=n;i++)    sum=sum*i;    printf("sum=%d\n",sum);    return 0;}运行结果抓图: 
技术分享
实验3-3 求 。程序源码#include<stdio.h>int main(){	int k,sum=0,Z;	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);		for(k=1;k<=10;k++)		sum= sum+1/k;	printf("sum=%d\n",sum);	Z=(sum +=k)+(sum= sum+k*k)+(sum= sum+1/k);	printf("Z=%d\n",Z);	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<=‘Z‘))			zm++;	 	else if(c==‘ ‘)	 		kg++;	 	else if(c<=‘9‘ && c>=‘0‘)	 		sz++;	 	else 	 		qt++;	}	printf("字母数:%d\n",zm);	printf("数字个数:%d\n",sz);	printf("空格个数:%d\n",kg);	printf("其他个数:%d\n",qt);	return 0;}运行结果抓图
技术分享
 实验3-5输入两个正整数m和n,求其最大公约数和最小公倍数。程序源码#include<stdio.h>int main(){    int a,b,m,n;    printf("请输入正整数m和n:\n");    scanf("%d%d",&a,&b);    m=a;    n=b;    while(a!=b)        if(a>b)            a=a-b;        else            b=b-a;    printf("最大公约数为:%d\n",a);    printf("最小公倍数为:%d\n",m*n/a);}运行结果抓图
技术分享
  实验3-6 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。程序源码#include<stdio.h>int main(){int n,k1,k2,k3;for(n=100;n<=999;n++){	k1=n%10;	k2=n/10%10;	k3=n/100;	if(n==k1*k1*k1+k2*k2*k2+k3*k3*k3)		printf("%d\n",n);}		}运行结果抓图
技术分享
  

  实验心得:

还是有很多困难的地方,最大公倍数和最小公倍数用的时间最长,或许因为忘了所以耽误了很多的时间,sum*i这个语句一直没编辑正确,然后还要继续努力编辑,多写代码,目前写代码有一些思路,但是不是很明确以及准确还需要多多练习

 

class training