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

    1.编写程序,输入一个整数x,按照下式输出对应的y值。

          

    #include <stdio.h>
    int main()
    {
        int x,y,z;
        printf("请输入一个数值
    ");
        scanf("%d",&x);
        y=0;
        if(x%2==0)
        {
            for(z=2;z<=x;z=z+2)
            y=y+z;
            printf("偶数的和为%d",y);
        }
        else
        {
            for(z=1;z<=x;z=z+2)
            y=y+z;
            printf("奇数的和为%d",y);
        }
        return 0;
    }

    1、注意for循环语句的正确使用

    2、else前边必须有if

    3.a++与++a作用不同。

    2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。

    #include <stdio.h>
    int main()
    {
        int x;
        float y;
        y=0;
        for(x=1;x<=100;x++)
        {
            if(x%2==1)
            {
                y=y+(1.0)/x;
            }
            else
            {
                y=y-(1.0)/x;
            }
        }
        printf("相加的%.2f
    ",y);
        return 0;
    }

    注意float型数据与int型数据的差别。

    3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。

    #include <stdio.h>
    int main()
    {
        int a,b,c;
        for(a=2000;a<=3000;a++)
        {
            if((a%4==0&&a%100!=0)||(a%400==0))
            {
                printf("%03d  ",a);
                c++;
                if(c%10==0)
                printf("
    ");
            }
        }
        printf("
    一共%d个闰年年号",c);
        return 0;
    }

     

    当要求几个数据一行时,可以新定义一个量,在用量与每行的个数取余,当余数为0时,输出“ ”

    4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。

    #include <stdio.h>
    int main()
    {
        int a,b,c,d;
        d=1;
        printf("请输入两个整数
    ");
        scanf("%d%d",&a,&b);
        for(c=1;c<=b;c++)
        {
            d=d*a;
        }
        printf("最后的值为%d",d);
        return 0;
     } 

    应把变量赋初值,否则会输出一个负数。

    5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。

        char a;
        int b=0,c=0,d=0,e=0,other=0;
        printf("输入一串字符,以回车为结束标志
    "); 
        scanf("%c",&a);
        while(a!='
    ')
        {    
            if(a>='A'&&a<='Z')
            {
                b=b+1;
            }
            else if(a>='a'&&a<='z')
            {
                c=c+1;
            }
            else if(a==' ')
            {
                d=d+1;
            }
            else if(a>='0'&&a<='9')
            {
                e=e+1;
            }
            else
            {
                other=other+1;
            }
            scanf("%c",&a);
        }
        printf("一共有%d个大写字母,%d个小写字母,%d个空格,%d个数字,有%d个其他字符",b,c,d,e,other); 
        return 0;
    }

    while()后不能加分号;

    ‘A’   ‘a’  '0',代表不同的数据,并不等同于其本身;

    6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,

    #include <stdio.h>
    int main()
    {
        int a,s,d=0,f,g=0,h;
        float j,k;
        printf("请输入一串数字,输入0时结束
    ");
        scanf("%d",&a);
        if(a==0)
        {
            printf("输入数据错误"); 
        }
        else
        {
            while(a!=0)
            { 
            if(a>0)
            {
                s=s+a;
                d++;
            }
            else
            {
                f=f+a;
                g++;
            }
            scanf("%d",&a);
            }
            j=(float)s/d;
            k=(float)f/g;
            if(g==0)
            printf("正数的平均数是%.3f",j);
            else if (d==0)
            printf("负数的平均值是%.3f",k);
            else
            printf("正数的平均数是%.3f,负数的平均值是%.3f",j,k);
        }
        return 0;
    }

    float型数据用“%f”

    7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)

    #include <stdio.h>
    int main()
    {
        int a,b,c;
        for(a=2;a<=1000;a++)
        {
            for(b=2;b<a;b++)
            {
                if(a%b==0)
                break;
            }
            if(b>=a)
            {
                printf("%03d  ",a);
                c++;
                if(c%10==0)
                printf("
    ");
            }
        }
        printf("
    一共%d个素数",c);
        return 0;
    }

     

    当一个循环陷入死循环时,可以用break语句将其跳出

    8.打印下列图形

                 

    #include <stdio.h>
    int main()
    {
        int a,b,c;
        for(a=1;a<=5;a++)
        {
            for(c=5;c>=5-a;c--)
            printf(" ");
            for(b=9;b>=2*a-1;b--)
            printf("*");
            printf("
    ");
        }
        return 0;
    }

    找规律对于程序编译同样有帮助。

    知识点总结

    1、不同的循环结构可以相互嵌套

    2、死循环可以用break语句改正

    实验总结

    当循环次数已知时,计数控制的循环用for语句

    循环次数未知,有给定条件控制,用while语句

    循环体至少执行一次用do....while语句

    当循环复杂化时,可以用嵌套式循环

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 阮小二买彩票
    Java实现 蓝桥杯VIP 算法提高 传染病控制
    Java实现 蓝桥杯VIP 算法提高 传染病控制
    Java实现 蓝桥杯VIP 算法提高 传染病控制
    Java实现 蓝桥杯VIP 算法提高 传染病控制
    Java实现 蓝桥杯VIP 算法提高 传染病控制
    Java实现 蓝桥杯VIP 算法提高 企业奖金发放
    Java实现 蓝桥杯VIP 算法提高 企业奖金发放
    让程序后台隐藏运行
    只要你喜欢,并且可以养家糊口,就是好的
  • 原文地址:https://www.cnblogs.com/456abc/p/6004371.html
Copyright © 2011-2022 走看看