第四次作业

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

学  号

160809226

姓  名

吉洋

专业、班

计科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);

              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 求 。

程序源码

 

 

运行结果抓图

 

 

 

 

实验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还是有很大差别的,但是编码思想还是差不多的,记得以前写水仙花数和这次差不多,但时间久了还是忘了,还好老师讲的听懂了,希望我能够一直进步。

 

posted on 2016-10-13 11:45  吉洋  阅读(194)  评论(1编辑  收藏  举报