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

    一.

    实验要求:

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

          

    代码:

    # include <stdio.h>
    int main ()
    {
        int z,x,y=0;
        printf("请您输入一个整数\n");
        scanf("%d",&z);
            if(z<=0)
        {
            printf("输入错误\n");
         } 
        if(z%2!=0)
        {
            
            for(x=1;x<=z;x=x+2)
            {
                y=y+x;
            }    
        }
        else if(z%2==0)
         {
            for(x=2;x<=z;x=x+2)
            {
                y=y+x;
            }
        }
        printf("输出您的答案,结果为%d\n",y);
        return 0;
    }
       

    截图:

    二.

    实验要求:

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

    代码:

    # include <stdio.h>
    int main()
    {
        int z;
        float x=1,y=0;
        for (z=1;z<=100;z++)
        {
            if(z%2==0)
            {
                x=-1.0/(float)z;
            }
            else if(z%2!=0) 
            {
                x=1.0/(float)z;
            }
            y=y+x;
        }
        printf("算式1-1/2+1/3-1/4+1/5- … +1/99-1/100的结果为%0.2f",y);
        return 0;
    }

    截图:

    三.

    实验要求:

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

    代码:

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

    截图:

    四.

    实验要求:

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

    代码:

    #include <stdio.h>
    int main()
    { 
        float n,sum=1; 
        int x,y;
        printf("ÇëÊäÈëÒ»¸öʵÊýºÍÒ»¸öÕûÊý,²¢Ó㬺Ÿô¿ª£¬Ç°ÕßΪʵÊý£¬ºóÕßΪÕûÊý\n");
        scanf("%f,%d",&n,&x);
        if(x==0)
        {
            printf("Êä³öÄúµÄ½á¹ûΪ1");     
        }
        else if(x>0)
        {
            for(y=1;y<=x;y++)
            {
            sum=sum*n; 
            }
            printf("Êä³öÄúµÄ½á¹ûΪ%f\n",sum);
        }
        else if(x<0)
        {
            for(y=1;y<=-x;y++)
            {
            sum=sum*n; 
            }
            sum=1/(float)sum;
            printf ("Êä³öÄúµÄ½á¹ûΪ%f\n",sum);
        }
        return 0;
    }

    截图:

    五.

    实验要求:

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

    代码:

    #include <stdio.h>
    int main()
    {
        int m=0,n=0,o=0,p=0;
        char a;
        printf("请输入任意一段字符。分别统计其中的字母、空格、数字和其他字符的个数\n");
        do
        {
            scanf("%c",&a);
            if(a=='\n')
            {
                break;
            }
            else if(a>='1'&&a<='9')
            {
                m++;
            }
            else if(a>='A'&&a<='Z'||a>='a'&&a<='z')
            {
                n++;
            }
            else if(a==' ')
            {
                o++;
            }
            else 
            {
                p++;
            }
        }while(a!='\n');
        printf("数字的数目是:%d\n", m);
        printf("字母的数目是:%d\n", n);
        printf("空格的数目是:%d\n", o);
        printf("其他字符的数目是:%d\n", p);
        return 0;
    }

    截图:

    六.

    实验要求:

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

    代码:

    # include <stdio.h>
    int main()
    {
        int a,x=0,y=0,m=0,n=0;
        printf("请随意输入一批数,输完一个,回车隔开,输入0结束回车:\n");
        scanf("%d",&a);
        while(a!=0)
        { 
            if(a>0)
            {
                x=x+a;
                m++;
            }
            else if(a<0)
            {
                y=y+a;
                n++;
            }
            scanf("%d",&a);
        }
        if(m==0)
        {
            if(n==0)
            {
                printf("正数的平均值为0,负数的平均值为0\n");
            }
            else if(n!=0)
            {
                printf("正数的平均值为0,负数的平均值为%.2f\n",(double)y/n);
            }
        }
        else if(m!=0)
        {
            if(n==0)
            {
                printf("正数的平均值为%.2f,负数的平均值为0\n",(double)x/m);
            }
            else if(n!=0)
            {
                printf("正数的平均值为%.2f,负数的平均值为%.2f\n",(double)x/m,(double)y/n);
            }
        }
       return 0;    
    }

    截图:

    七.

    实验要求:

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

    代码:

    # include <stdio.h>
    # include <math.h>
    int main()
    {
        float a;
        int m,n=0,x,flag;
        for(m=2;m<=1000;m++) 
        {
           flag=0;
           a=sqrt(m);
           for(x=2;x<=a;x++)
           {
              if(m%x==0)
              {
                flag=1;
                break;    
              } 
           }
           if(flag==0)
           {
              printf(" %03d",m);
              n++;
              if(n%10==0&&n!=0)
              {
                printf("\n");
              } 
           } 
        } 
        printf("\n在一千以内一共有%d个素数\n",n); 
        return 0;    
    }

    截图:

    实验要求:

    打印下列图形

      

    代码:

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

    截图:

    本次知识点总结:

    1.几种关于循环的方法以及循环的嵌套。

    2.do while至少执行一次循环,而while可以一次都不执行循环。

    3.循环中,break指结束循环,执行循环体后面的语句,continue是跳过循环体中剩余的语句,执行下一次循环。

    4.for,if,while后面不必加分号。

    5.累加求和问题注意和要初始化为0。累乘求和问题注意 乘积要初始化为1。

    6.goto语句指无条件转向语句标号处执行,但不推荐此方法。

    本次实验总结:

    1.不同的题目合理运用不同的循环方式。

    2.注意开始循环时变量的初始值。

    3.与前面的输出隔出位置用“ ”,回车用“\n”。

    4.输出十个一换行,用次数和10求余。

  • 相关阅读:
    webpack source map
    webpack 多页面应用打包
    webpack 资源内联
    webpack 移动端 CSSpx 自动转换成 rem
    webpack postcss插件
    css实现banner背景图上文字效果+
    css实现标题下划线效果
    Day 88 Django_DRF 序列化
    Day 87 VUE——xmall_front 案例
    Day 86 VUE——Vuex
  • 原文地址:https://www.cnblogs.com/wgy774553994/p/6011817.html
Copyright © 2011-2022 走看看