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

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

          

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

    编程求11/2+1/31/4+1/5-  +1/991/100,结果保留两位小数。

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

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


    #include<stdio.h> int main() { int i,y=0; for(i=2000;i<=3000;i++) { if(i%400==0||i%4==0&&i%100!=0) { printf(" %d ",i); y++; if(y%10==0) { printf("\n"); } } } printf("%d",y); 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);
      if(m>0)
        {
          for(i=1;i<=m;i++)
            {
              y=y*x;
            }
          printf("%.2f",y);
        }
      else if(m<0)
        {
          for(i=-1;i>=m;i--)
            {
              y=y*(1.0/x);
            }
          printf("%.2f",y);
        }
      else
        {
          printf("1");
        }
      return 0;
    }

     

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

    #include<stdio.h>
    int main()
    {
        char a;
        int b=0,c=0,d=0,e=0,f=0;
        printf("输入一串字符");
        scanf("%c",&a);
        while(a!='\n')
            {
                if(a>='A'&&a<='Z')
                { b=b+1;}
                else if(a>='a'&&a<='z')
                {c=c+1;}
                else if(a==' ')
                {d=d+1;}
                else if(a>='0'&&a<='9')
                {e=e+1;}
                else
                {f=f+1;}
                scanf("%c",&a);
                
            }
            printf("一共有%d个大写字母,%d个小写字母,%d个空格,%d个数字,%d个其他字符",b,c,d,e,f);
        return 0;
    }

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

    #include<stdio.h>
    int main()
    {
        int a,b=0,c=0,d=0,e=0;
        float i,j;
        printf("输入0时结束");
        scanf("%d",&a); 
        while(a!=0)
        {
            if(a>0)
            {
                b=b+a;
                d++;
            }
            else
            {
                c=c+a;
                e++;
            }
            scanf("%d",&a);
        }
            if(d==0)
            {
                d=1;
            }
            if(e==0)
            {
                e=1;
            }
        printf("正数平均值:%6.2f\n",(float)b/d);
        printf("负数平均数:%6.2f\n",(float)c/e);
        return 0;
    }

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

    #include<stdio.h>
    int main()
    {
        int i,b,c=0,flag;
        for(i=2;i<=1000;i++) 
        {
            flag=0;
            for(b=2;b<=i-1;b++)
            {
                if(i%b==0)
                {
                    flag=1;
                    break;
                }    
            }
            if(flag==0)
            {
                printf(" %03d ",i);
                c++;
                if(c%10==0)
                {
                    printf("\n");
                }    
            }
        
        }
        printf("共有%d个质数",c); 
        return 0;
    }

    8.打印下列图形

         

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

     

         二知识点总结

    1:选择循环的一般原则

    循环次数已知:计数控制的循环for语句。

    循环次数未知,由给定条件控制:条件控制的循环while语句。

    循环次数至少要执行一次:do...while语句。

    2:break跳出循环,continue跳出本次循环。

    3:两种适合用goto语句的情况

    跳向共同的出口位置,进行退出前的处理工作。

    跳出多重循环的一条捷径。

    4:不同循环的一条捷径。

    三实验总结

    1最后输出的printf要输字符

    2素数的判断需要用标记变量

    3用char输入时变量要用%c

    4用float输入时变量要用%f

    5如果循环计算乘积,积的初值要赋值

    6只有字符用''

  • 相关阅读:
    准备 FRM 考试——方法、工具与教训
    930. 和相同的二元子数组 前缀和
    1906. 查询差绝对值的最小值 前缀和
    剑指 Offer 37. 序列化二叉树 二叉树 字符串
    815. 公交路线 BFS
    518. 零钱兑换 II dp 完全背包
    1049. 最后一块石头的重量 II dp
    5779. 装包裹的最小浪费空间 二分
    5778. 使二进制字符串字符交替的最少反转次数 字符串 滑动窗口
    474. 一和零 dp
  • 原文地址:https://www.cnblogs.com/1998li/p/6001680.html
Copyright © 2011-2022 走看看