zoukankan      html  css  js  c++  java
  • 课上作业。

    《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
    ",sum);
    		//使用do while循环完成,,,
    		i = 1;
    		sum = 0;
    		do{
    			sum += i;
    			i++;
    		} while (i<=100);
    		printf("sum = %d
    ",sum);
    		//使用while完成,,,,
    		i = 1;
    		while(i<=100){
    			sum += i;
    			i++;
    		} 
    		printf("sum = %d
    ",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,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
    ",sum);
    	
    	for(k=1;k<=50;k++)
    		sum = sum + k*k;
    	printf("sum=%d
    ",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())!='
    '){
    		if(c>='a'&&c<='z'||c>='A')
    			zm++;
    		else if(c==' ')
    			kg++;
    		else if(c>='0'&&c<='9')
     			sz++;
    		else
    			qt++;
    	}
    	printf("字母个数:%d
    ",zm);
    	printf("空格个数:%d
    ",kg);
    	printf("数字个数:%d
    ",sz);
    	printf("其他个数:%d
    ",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
    ",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
    ",i); 
    	}
    }
    
    运行结果抓图
    
    
    
    实验心得
    
    这次的作业是课上作业,是在老师的指导下完成的,比以往的作业要简单一些,第一题的最后一个方法虽然是按照给的源码输入的,但是输出的数值不是正确数值,不知道是因为什么,然后就是第二题要求按照第一题那个样子弄,有点蒙,希望可以学到更多的知识。
    

      

  • 相关阅读:
    【并发】实现内存可见的两种方法比较:加锁和volatile变量
    HTTP2资料汇总
    微服务框架servicecomb
    【并发】使用synchronized获取互斥锁的几点说明
    【并发】通过同步保证内存可见性
    数据最终一致性方案设计
    Oracle中Constraint的状态参数initially与deferrable
    ORACLE GROUPING函数的使用
    Oracle INSERT WITH CHECK OPTION的用法
    ORACLE VERSIONS 用法
  • 原文地址:https://www.cnblogs.com/160809229mayinwu/p/5955823.html
Copyright © 2011-2022 走看看