• 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计


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

    学  号

     160809209

    姓  名

     李梦鑫

    专业、班

    计科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()
    {
        int i,sum=0;
        sum=0;
        for(i=1;i<=100;i++)
        sum+=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(){
        int n,i,jiec=1;
        printf("请输入一个整数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);
        
        for(k=1;k<=10;k++)
            sum=sum+1.0/k;
        printf("sum=%d\n",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<='Z')
                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,gys=1,gbs;
        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){
            gys=i;
            printf(",最大公约数为;%d\n",gys);
        }
            gbs=m*n/gys;
            printf("最大公倍数为;%d\n",gbs);
        return 0;
    }


     
      


      
      
      
      
      
      
      
      
      
      
      
     
     
     


    实验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);
        }
        return 0;
    }


     
      
      
      


      
      
      
      
      
      
      
      
      
     
     
     


                                                                                       实验心得

         第一题还算简单就当是练练手,回忆了一下循环结构的基础形式,然后第二题就出现了赋值和阶乘,思考了一下然后加上老师的指导顺利完成,第三题就是复杂了一点但是还算简单,可以理解。第四题循环结构复杂了一点但是理解了很容易,第五题的最大公约数,最小公倍数的公式和表达方式忘记了,经过老师的帮助和讲解终于明白了,虽然有点复杂但是还算可以理解,最后一题经过老师的举例讲解也顺利完成了。希望自己下次更能快速的完成,迅速理解,继续努力。

  • 相关阅读:
    NOIP2002字串变换[BFS]
    NOIP2000单词接龙[DFS]
    NOIP2003传染病控制[按层DFS]
    NOIP1999邮票面值设计[搜索|DP]
    USACO1.1Broken Necklace[环状DP作死]
    洛谷P1120小木棍[DFS]
    NOIP2000进制转换
    Miller-Rabin素数快速检测
    【数论算法理论与实现】
    洛谷P1141 01迷宫
  • 原文地址:https://www.cnblogs.com/lmx0925/p/5955893.html
Copyright © 2020-2023  润新知