第四次作业

Posted 遥远的她

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四次作业相关的知识,希望对你有一定的参考价值。

 

      

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

      

复制代码
#include<stdio.h>
int main()
{
    int a,b,i;
    b=0;
    printf("请输入一个整数,我将按照题目要求计算结果\\n");
    scanf("%d",&a);
    if(a%2==1)
    {
        for(i=1;i<=a;i=i+2)
        {
            b=b+i;
        }
    }
    else if(a%2==0)
    {
        for(i=2;i<=a;i=i+2)
        {
            b=b+i;
        }
    }
    printf("%d",b);
    return 0;
}
复制代码

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

复制代码
#include<stdio.h>
int main()
{
    int i,a;
    float y=1;
    for(i=2;i<=100;i=i+2)
    {
        y=y-1.00/i;
    }
    for(a=3;a<=100;a=a+2)
    {
        y=y+1.00/a;
    }
    printf("%0.2f\\a",y);
    return 0;
}
复制代码

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

复制代码
#include<stdio.h>
int main()
{
    int i,a;a=0;
    for(i=2000;i<=3000;i++)
    {
        if((i%4==0&&i%100!=0)||(i%400==0))
        {
            printf("%03d ",i);a++;
            if(a%10==0)
            {
                printf("\\n");
            }
        }
    }
    printf("一共有%d个闰年",a);
    return 0;
}
复制代码

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

复制代码
#include<stdio.h>
int main()
{
    int m,i;
    float x,y=1;
    printf("请输入一个实数x和一个整数m\\n");
    scanf("%f %d",&x,&m);
    if(m>0)
    {
        for(i=1;i<=m;i++) 
        {
            y=y*x;
        }
    }
    else if(m==0)
    {
        y=1;
    }
    else
    {
        printf("输入错误\\n");
    } 
    printf("%f\\n",y);
    return 0;
}
复制代码

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

复制代码
#include<stdio.h>
int main()
{
    int a,b,c,d,e,i;
    char x;
    a=0;
    b=0;
    c=0;
    d=0;
    e=0;
    printf("请输入一串字符,我将计算其中各个种类字符的数目\\n");
    scanf("%c",&x); 
    while(x!=\'\\n\')
    {
        if(\'A\'<=x&&x<=\'Z\'||\'a\'<=x&&x<=\'z\')
        {
            b++;
        }
        else if(x==32)
        {
            c++;
        }
        else if(\'0\'<=x&&x<=\'9\')
        {
            d++;
        }
        else
        {
            e++;
        }
        scanf("%c",&x);
    }
    printf("其中字母有%d个,空格有%d个,数字有%d个,其他有%d个",b,c,d,e);
    return 0;
}
复制代码

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

复制代码
#include<stdio.h>
int main()
{
    int a,b,c,d,e,f,g;
    a=0;
    b=0;
    c=0;
    d=0;
    printf("请输入一列数,以0结束\\n");
    while(1)
    {
        scanf("%d",&e);
        if(e<0)
        {
            a+=e;
            c++;
        }
        else if(e>0)
        {
            b+=e;
            d++;
        }
        else if(e==0)
            break;
    }
    if(d==0)
    {
        printf("没有正数\\n");
    }
    else
    {
        printf("正数的平均数为%f\\n",(float)b/d);
    }
    if(c==0)
    {
        printf("没有负数\\n");
    }
    else
    {
        printf("负数的平均数为%f\\n",(float)a/c);
    }
    return 0;
}
复制代码

 

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

复制代码
#include<stdio.h>
int main()
{
    int i,a,x=0,flag=0;
    for(i=2;i<=1000;i++)
    {
        for(a=2,flag=0;a<=i-1;a++)
        {
            if(i%a==0)
            {
                flag=1;
                break;
            }
        }
        if(flag!=1)
        {
            printf("%04d ",i);
            x++;
            if(x%10==0)
            {
                printf("\\n");
            }
        }
    }
    printf("一共有%d个素数",x);
    return 0;
}
复制代码

8.打印下列图

 

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

知识点总结:

输出三位数字,不足三位在后面补空格用%.3d。

                2.for语句、while语句和do...while语句的使用和区别

                  for用在知道循环次数的时候,不知道循环次数的时候用while和do...while,                  do...while是必须执行一次

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

实验境界;

1、循环时,注意循环的边界,和循环一次计数的变量增加多少

2、输出十个一换行,用次数和10求余,然后输出\\n

3.明确每个值所代表的意义。

4.循环体中应有是循环趋向结束的语句。

 

以上是关于第四次作业的主要内容,如果未能解决你的问题,请参考以下文章

软件工程第四次作业

软件工程第四次作业

第四次作业

第四次作业测试代码+018+李滨

第四次作业

软件工程 第四次作业(结对作业)