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

    一.实验内容

    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

  • 相关阅读:
    VIJOS-P1340 拯救ice-cream(广搜+优先级队列)
    uva 11754 Code Feat
    uva11426 GCD Extreme(II)
    uvalive 4119 Always an Interger
    POJ 1442 Black Box 优先队列
    2014上海网络赛 HDU 5053 the Sum of Cube
    uvalive 4795 Paperweight
    uvalive 4589 Asteroids
    uvalive 4973 Ardenia
    DP——数字游戏
  • 原文地址:https://www.cnblogs.com/UUZsama/p/5998553.html
Copyright © 2011-2022 走看看