• 第四次作业


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

          

    #include<stdio.h>
    int main()
    {
        int a,b,i;
        b=0;
        printf("请输入一个整数,我将按照题目要求计算结果
    ");
        scanf("%d",&a);
        if(a%2==1)
        {
            for(i=1;i<=a;i=i+2)
            {
                b=b+i;
            }
        }
        else if(a%2==0)
        {
            for(i=2;i<=a;i=i+2)
            {
                b=b+i;
            }
        }
        printf("%d",b);
        return 0;
    }

    2.编程求11/2+1/31/4+1/5-  +1/991/100,结果保留两位小数。

    #include<stdio.h>
    int main()
    {
        int i,a;
        float y=1;
        for(i=2;i<=100;i=i+2)
        {
            y=y-1.00/i;
        }
        for(a=3;a<=100;a=a+2)
        {
            y=y+1.00/a;
        }
        printf("%0.2fa",y);
        return 0;
    }

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

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

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

    #include<stdio.h>
    int main()
    {
        int m,i;
        float x,y=1;
        printf("请输入一个实数x和一个整数m
    ");
        scanf("%f %d",&x,&m);
        if(m>0)
        {
            for(i=1;i<=m;i++) 
            {
                y=y*x;
            }
        }
        else if(m==0)
        {
            y=1;
        }
        else
        {
            printf("输入错误
    ");
        } 
        printf("%f
    ",y);
        return 0;
    }

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

    #include<stdio.h>
    int main()
    {
        int a,b,c,d,e,i;
        char x;
        a=0;
        b=0;
        c=0;
        d=0;
        e=0;
        printf("请输入一串字符,我将计算其中各个种类字符的数目
    ");
        scanf("%c",&x); 
        while(x!='
    ')
        {
            if('A'<=x&&x<='Z'||'a'<=x&&x<='z')
            {
                b++;
            }
            else if(x==32)
            {
                c++;
            }
            else if('0'<=x&&x<='9')
            {
                d++;
            }
            else
            {
                e++;
            }
            scanf("%c",&x);
        }
        printf("其中字母有%d个,空格有%d个,数字有%d个,其他有%d个",b,c,d,e);
        return 0;
    }

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

    #include<stdio.h>
    int main()
    {
        int a,b,c,d,e,f,g;
        a=0;
        b=0;
        c=0;
        d=0;
        printf("请输入一列数,以0结束
    ");
        while(1)
        {
            scanf("%d",&e);
            if(e<0)
            {
                a+=e;
                c++;
            }
            else if(e>0)
            {
                b+=e;
                d++;
            }
            else if(e==0)
                break;
        }
        if(d==0)
        {
            printf("没有正数
    ");
        }
        else
        {
            printf("正数的平均数为%f
    ",(float)b/d);
        }
        if(c==0)
        {
            printf("没有负数
    ");
        }
        else
        {
            printf("负数的平均数为%f
    ",(float)a/c);
        }
        return 0;
    }

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

    #include<stdio.h>
    int main()
    {
        int i,a,x=0,flag=0;
        for(i=2;i<=1000;i++)
        {
            for(a=2,flag=0;a<=i-1;a++)
            {
                if(i%a==0)
                {
                    flag=1;
                    break;
                }
            }
            if(flag!=1)
            {
                printf("%04d ",i);
                x++;
                if(x%10==0)
                {
                    printf("
    ");
                }
            }
        }
        printf("一共有%d个素数",x);
        return 0;
    }

    8.打印下列图

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

    课知识点总结:1.for,if,while后面没有分号

                          2.scanf括号里要加地址符

                          3.循环公式的应用

    实验总结:1.break只能终止并跳出最近一层的结构

                    2.应用循环时,通过在循环体后加break;对循环体进行控制

                    3.循环一定要有初值

  • 相关阅读:
    gridview列前加复选框需要注意的一点
    为什么日历控件放在panel无法显示出来
    表格翻页
    The SDK platform-tools version ((21)) is too old to check APIs compiled with API 23
    win7怎么安装和启动 jboss
    (转)如何制作nodejs,npm “绿色”安装包
    Can't use Subversion command line client: svn
    (转)Android自定义属性时format选项( <attr format="reference" name="background" /> )
    本地拒绝服务漏洞修复建议
    (转)Android 读取联系人(详细)
  • 原文地址:https://www.cnblogs.com/li1252204077/p/6014097.html
Copyright © 2020-2023  润新知