• 第四次作业


    一.实验内容

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

          

    #include<stdio.h>
    int main()
    {
        float x,y;
        printf("请输入x的值:");
        scanf("%f",&x);
        if(0<=x&&x<5)
        {
            y=2.5+x;
            printf("%.2f",y);
        }
        else if(5<=x&&x<10)
        {
            y=2-1.5*(x-3)*(x-3);
            printf("%.2f",y);
        }
        else if(10<=x&&x<20)
        {
            y=x/2-1.5;
            printf("%.2f",y);
        }
        else
        {
            printf("不符合要求");
        }
        return 0;
    }

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

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

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

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

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

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

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

    #include <stdio.h>
    int main ()
    {
        char X;
        int K=0,S=0,Z=0,Q=0;    
        printf ("请输入一串字符:");    
        while((X=getchar())!='\n')
        {
            if(X>='a'&&X<='z'||X>='A'&&X<='Z')
            {
                Z++;
            }
            else if(X==' ')
            {
                K++;
            }
            else if (X>'0'&&X<'9')
            {
                S++;
            }
            else
            {
                Q++;
            }
        }
        printf ( "空格有%d个 数字有%d个 字母有%d个 其他字符有%d个",K,S,Z,Q);  
        return 0;
    }

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

    #include <stdio.h>
    int main()
    {
        int x,n=0,m=0;
        float z=0,f=0;
        printf("请输入一串数:"); 
        scanf("%d",&x);
        while(x!=0)
        {
            if(x>0)
            {
            z=z+x;
            n++;
            }
            else if(x<0)
            {
            f=f+x;
            m++;
            } 
            scanf("%d",&x); 
       }
        if(m==0||n==0)
        {
        printf("error");
        }
        else
        { 
        printf("正数平均数为%.2f,负数平均数为%.2f",(float)z/n,(float)f/m);
        }
        return 0;
    }

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

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

    8.打印下列图形

                 

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

    二.本次课知识点总结

    1分清for语句与while语句与do...while语句的结构

    2循环次数已知用for语句,次数未知,条件位置用while语句,至少循环一次用do...while语句(不是强制性)

    3嵌套循环中外层循环1次,内层要完成所有循环

    三.实验总结

    1 ++ --前不能接常量或表达式

    2for中表达式可以省略,但 ;不能省略 

    3无限循环中用break从循环中跳出

    4注意分清数据类型,不能混淆%d,%c,%f

    5for 与while后无分号 但do...while中的while后有分号

    4

  • 相关阅读:
    mysql基础整理01
    继承、接口、static、abstract
    重载与重写
    单例模式
    我的程序人生
    Idea的Maven项目引入模块
    测试单元测试完毕关闭jvm
    java线程
    logback日志的美化
    Netty中消除开始的日志消息修改日志级别
  • 原文地址:https://www.cnblogs.com/UUZsama/p/5998553.html
Copyright © 2020-2023  润新知