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

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

          

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

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

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

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

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

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

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

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

    #include <stdio.h>
    int main ()
    {
        char c;
        int a,b,m,n;
        a=0;
        b=0;
        m=0;
        n=0;
        while((c=getchar())!='\n')
        {
            if(c>='a'&&c<='z'||c<='z'&&c>='a')
            {
                a++;
            }
            else if (c==' ')
            { 
                b++;
            }
            else if (c>='0'&&c<='9')
            {
                m++;
            }
            else 
            {
                n++;
            }
        }
        printf("字符个数是%d,空格字数是%d,数字个数是%d,其他个数是%d",a,b,m,n);
    return 0;
    }

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

    #include <stdio.h>
    int main () 
    {
        int x,a=0,b=0,m=0,n=0;
        float average1,average2;
        printf ("请输入一批数字,输入零时结束");
        scanf ("%d",&x);
        if (x==0)
        {
            printf("错误");
        }
        while (x!=0)
        {
            if (x>0)
            {
                a=a+x;
                m++;
                average1=a/m;
            }
             else if(x<0)
             {
                 b=b+x;
                 n++;
                 average2=b/n;
             }
              scanf("%d",&x);
        }
        printf ("正数的平均数为%.2f 负数的平均数为%.2f",average1,average2);
        return 0;
    }

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

    #include <stdio.h>
    int main ()
    {
        int m,n,flag=0,z=0;
        for (m=2;m<=1000;m++)
        {
            flag=0;
            for (n=2;n<m-1;n++)
            {
                if(m%n==0)
                {
                    flag=1;
                    break;
                }
            }
            if(flag==0)
            {
                printf(" %3d ",m);
                z++;
                if (z%10==0)
                {
                    printf("\n");
                }
            }
        }
        printf ("总共有%d个素数",z);
        return 0;
    }

    8.打印下列图形

                 

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

    实验总结:for循坏和while循坏的区别及格式

                 =是赋值  ==是等于

    知识点总结: 当循坏次数已知的时候 用 for

                     由给定条件控制,循环次数未知的时候,用 while

                     循坏体至少执行一次    用 do while 

                    循坏语句的嵌套

  • 相关阅读:
    目录(爬虫)
    目录(自动化开发)
    目录(Python基础)
    目录(Django开发)
    C#Revit二次开发之-一键切换构件连接顺序 SwitchJoinOrder
    Revit常用的元素过滤方法
    C#之txt的数据写入
    惰性加载
    python mysql and ORM
    Python之常用模块学习(二)
  • 原文地址:https://www.cnblogs.com/zpl0120/p/6011849.html
Copyright © 2011-2022 走看看