• 第四次作业


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

    #include <stdio.h>
    int main()
    {
    int i,x,y=0;
    printf("请输入一个整数");
    scanf("%d",&x);
    if (x%2!=0)
    {
        for (i=1;i<=x;i+=2)
        {
            y+=i;
        }
        printf("%d",y);}
        else
        {
            for(i=2;i<=x;i+=2)
            {
                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 sum=0;
        for (i=1;i<=100;i++)
        if (i%2==0)
        sum=sum+(-1.0)/i;
        else
        sum=sum+(1.0)/i;
        printf("%.2f\n",sum);
        return 0;
    }

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

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


     

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

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

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

    #include <stdio.h>
    int main()
    {
        int i=0,j=0,k=0,f=0;
        char x;
        while((x=getchar())!='\n')
      {
        if (x>='a'&&x<='z'||x>='A'&&x<='Z')
        {
            i++;
        }
        else if (x>='0'&&x<='9')\
        {
            j++;
        }
        else if (x==' ')
        {
            k++;
        }
        else
        {
            f++;
        }
     }
        printf("字母=%d,数字=%d,空格=%d,其他字符=%d",i,j,k,f);
        return 0;
    } 

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

    #include <stdio.h>
    int main()
    {
        int x,i=0,j=0,sum1=0,sum2=0;
        scanf("%d",&x);
        while(x!=0)
        {
            if (x>0)
            {
                i++;
                sum1+=x;
            }
            else if (x<0)
            {
                j++;
                sum2+=x;
            }
            scanf("%d",&x);
        }
         printf("正数平均值:%.2f\n负数平均值:%.2f\n",(float)sum1/i,(float)sum2/j);
         return 0;
    }

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

    #include <stdio.h>
    int main()
    {
        int x,y,flag=0,f=0;
        for(x=2;x<=1000;x++)
        {
            for(flag=0,y=2;y<=x-1;y++)
     {
            if(x%y==0)
            {
                flag=1;
                break;
            }
        }
            if (flag!=1)
        {
            printf("%4d",x);
            f++;
            if (f%10==0)
            {
            printf("\n");    
            }
        }
     }
        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<=11-2*i;j++)
            printf("*");
            printf("\n");
        }
        return 0;
    }

     

    知识点总结 :1 三种循环应用,执行过程,注意事项均不同!

                    2 break跳出循环,continue跳出本次循环!

                    3 累加型问题与累乘型问题注意循环要求!

    实验总结:1 %与/用混!

                  2 用float定义变量输出要用%.f!

                  3 注意换行时空格在的位置!

                  4 只有字符用‘’!

                  5 注意输入时在哪里给x赋值!

                  6 对应括号应对齐,格式要整齐!

  • 相关阅读:
    软件工程第三次作业
    软件工程第二次实践
    软件工程第一次作业
    剑指offer-重新排序数组,倒置链表
    剑指offer-倒数第k个节点,镜像二叉树,O(1)时间删除链表节点,
    剑指offer-判断树1中是否有树2,合并有序链表,旋转打印二维数组
    matlab基本语法
    C/C++ 二维数组实参形参的总结
    剑指offer-实现power,打印1到n位最大数
    剑指offer-旋转数组,斐波那契数列,比特1的个数
  • 原文地址:https://www.cnblogs.com/5267wss/p/5998326.html
Copyright © 2020-2023  润新知