第四次作业

Posted 趁早

tags:

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

一、实验内容

1、实验要求:编写程序,输入一个整数x,按照下式输出对应的y值。

    

代码:

#include<stdio.h>
int main()
{
    int i,x,y=0;
    printf("请输入x的值:\\n");
    scanf("%d",&x);
    if(x<1)
    {
        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("y=%d",y);
    return 0;
}

程序运行结果:

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

代码:

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

程序运行结果:

3、实验要求:输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。

代码:

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

程序运行结果:

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

代码:

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

程序运行结果:

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

代码:

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

 程序运行结果:

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

代码:

#include <stdio.h>
int main()
{
    int x,n1=0,n2=0;
    float sum1=0,sum2=0;
    scanf("%d",&x);
    while(x!=0)
    {
        if (x>0)
        {
            sum1=sum1+x;
            n1++;
        }
        else if (x<0)
        {
            sum2=sum2+x;
            n2++;
        }
        scanf("%d",&x);
    }
     printf("正数平均值:%.2f负数平均值:%.2f",sum1/n1,sum2/n2);
     return 0;
}

程序运行结果:

 

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

代码:

#include<stdio.h>
#include<math.h>
int main()
{
    int n=0,i,x,y,z;
    for(i=2;i<=1000;i++)
    {
        y=1;
        z=sqrt(i);
        for(x=2;x<=z;x++)
        {
            if(i%x==0)
            {
                y=0;
                break;
            }
        }
        if(y==1)
        {
            n++;
            if(n%10==0)
            {
                printf("\\n");
            }
            else
            {
                printf("%4d",i);
            }
        }
    }
    return 0;
}

程序性运行结果:

8、实验要求:打印下列图形

             

代码:

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

程序运行结果:

二、本次课知识点总结

1、for(循环变量赋初值;循环条件;循环变量增值)

   {循环体语句}              ①分号不能省略;②适用于循环次数已知的循环问题;

2、while(循环条件)

    {循环体语句}             ①循环体有可能一次也不执行;②循环体内应有使表达式得值趋向假的操作,从而退出循环;③适用于循环次数已知由                                      给定条件控制

3、do

    {循环体语句;}

    while(循环条件);     ①循环体至少要执行一次

4、break

①在循环语句中一般与if使用;②break语句不能用于循环语句中和switch语句之外的任何其他语句中;

5、continue

与if一起使用,只能用在循环语句中;

三、实验总结

1、注意分号的书写,do...while语句中后面需要加分号;

2、开根号的表达方式为sqrt();

3、判断是否为字符的表达方式是 ((c=getchar())!=\'\\n\');

4、循环体中printf不用加大括号;

5、注意每个循环语句试用的条件。

 

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

软件工程第四次作业

软件工程第四次作业

第四次作业

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

第四次作业

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