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

    一:实验内容

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

          

    代码:

    #include<stdio.h>
    int main()
    {
        int x,i,y=0;
        printf("输入数字:
    ");
        scanf("%d",&x);
        if(x%2==0)
        {
            for(i=2;i<=x;i=i+2)
            {
                y=y+i;
            }
            printf("和为%d",y);
        }
        else if(x%2!=0)
        {
            for(i=1;i<=x;i=i+2)
            {
                y=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,j,k;
        float sum=0,sum1=0,sum2=0;
        for(i=1;i<=100;i=i+1)
        {
            if(i%2==0)
            {
                sum1=sum1-1.0/i;
            }
            else if(i%2!=0)
            {
                sum2=sum2+1.0/i;
            }
        }
        sum=sum1+sum2;
        printf("%.2f",sum);
        return 0;
     }

    运行结果:

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

    代码:

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

    运行结果:

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

    代码:

    #include<stdio.h>
    int main()
    {
        int x,n,i,y=1;
        printf("输入x,n的值:
    ");
        scanf("%d,%d",&x,&n);
        for(i=1;i<=n;i=i+1)
        {
            y=y*x;    
        } 
        printf("%d的%d次方的值为%d:",x,n,y);
        return 0;
     }

    运行结果:

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

    代码:

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

    运行结果:

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

    代码:

    #include<stdio.h>
    int main()
    {
        double x,a,b,c,d,i,j;
        a=0;
        b=0;
        i=0;
        j=0;
        printf("请输入一批数(用回车分开,输入0结束)
    ");
        while(x!=0) 
        {
            printf("请输入
    ");
            scanf("%lf",&x);
            if(x>0)
            { 
                a=a+x;
                i=i+1;
            }
            else if(x<0)
            {
                b=b+x;
                j=j+1;
            }
            
        }
        c=a/i;
        d=b/j;
        if(i==0&&j!=0)
        {
            printf("没有输入正数,负数的平均数是%lf
    ",d);
        }
        else if(j==0&&i!=0) 
        {
            printf("正数的平均数是%lf,没有输入负数
    ",c);
        }
        else if(i==0&&j==0)
        {
            printf("没有输入数据
    ");
        }
        else
        {
            printf("正数的平均数是%lf,负数的平均数是%lf
    ",c,d);
        }
        return 0;    
    }

    运行结果:

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

    代码:

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

    运行结果:

    8.打印下列图形

                 

    代码:

    clude<stdio.h>
    int main()
    {
        int i,a;
        for(i=1;i<=5;i=i+1) 
        {
            for(a=1;a<=i-1;a=a+1)
            printf(" ");
            for(a=1;a<=11-2*i;a=a+1)
            printf("*");
            printf("
    ");
        }
        return 0;    
    }

    运行结果:

    二:本次课知识点总结

    1.知道循环次数时用for语句,不知道时用while语句或do...while语句。

    2.do...while语句必须执行一次,while语句随意。

    3.在循环中,break是结束整个循环,continue是结束本次循环。

    4.循环嵌套时,外层循环一次,内层完成所有循环。

    三:实验总结

    1.输出几个换行时,用次数和每行个数求余,在输出“ ”。

    2.在问题复杂时,可以用多个循环简化。

    3.循环结构注意赋初值。

  • 相关阅读:
    【python】学习笔记10-ddt数据驱动
    【python】学习笔记10-装饰器
    【Python】学习笔记8-多线程多进程
    【Python】学习笔记7-异常处理try。。except .. as e ....else
    【Python】学习笔记6-补充Flask模块:登录接口,mysql数据库、存redis-sesson、存浏览器cookie
    【Python】学习笔记6-创建Excel:xlwt,读取Excel:xlrd ,修改Excel:xlutils
    【Python】学习笔记6-网络编程urllib,request,请求rul
    【Python】学习笔记5-利用flask来mock接口
    【Python】学习笔记5-操作redis数据库redis
    【Python】学习笔记5-模块pymysql操作mysql数据库
  • 原文地址:https://www.cnblogs.com/kbx1602/p/6011628.html
Copyright © 2011-2022 走看看