zoukankan      html  css  js  c++  java
  • 第四次作业

    《C语言程序设计》实验报告
    学  号    16080903   姓  名    王思齐    计科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);
        }
    }
     
    实验心得还是不会抓图,虽然是课上作业,老师带着做可是还有很多问题,不会,边问边参考,才出来!以后会继续努力的!
     
  • 相关阅读:
    hdu 1588 求f(b) +f(k+b) +f(2k+b) +f((n-1)k +b) 之和 (矩阵快速幂)
    poj 3233 S = A + A^2 + A^3 + … + A^k A是一个n X n矩阵 (矩阵快速幂)
    hdu 1757 和1005差不多 (矩阵快速幂)
    D 矩阵快速幂
    poj 3734 方块涂色 求红色 绿色方块都为偶数的方案数 (矩阵快速幂)
    hdu 1005 根据递推公式构造矩阵 ( 矩阵快速幂)
    hdu 4549 M斐波拉契 (矩阵快速幂 + 费马小定理)
    UVa 1643 Angle and Squares (计算几何)
    UVa 11040 Add bricks in the wall (水题递推)
    UVa 1336 Fixing the Great Wall (区间DP)
  • 原文地址:https://www.cnblogs.com/wangsiqi/p/5955907.html
Copyright © 2011-2022 走看看