作业,4

实验要求:

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

      

#include <stdio.h>
int main()
{    
    int a,b,sum;
    printf("输入一个整数");
    scanf("%d",&a);
    sum=0;
    if (a%2==0)
    {
        for (b=2;b<=a;b+=2)
        sum=sum+b;
        printf("结果为%d",sum);
    }
    else
    {
        for (b=1;b<=a;b+=2)
        sum=sum+b;
        printf("结果为%d",sum);
    }
    return 0;
}

 

实验要求:

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

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

 

实验要求:

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

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

实验要求:

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

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

实验要求:

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

#include<stdio.h>
int main()
{
    char a;
    int b=0,c=0,d=0,e=0,other=0;
    printf("输入一串字符,按回车结束\n"); 
    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
        {
            other=other+1;
        }
        scanf("%c",&a);
    }
    printf("一共有%d个大写字母,%d个小写字母,%d个空格,%d个数字,有%d个其他字符",b,c,d,e,other); 
    return 0;
}

 

实验要求:

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

#include<stdio.h>
int main()
{
int a,b,c=0,d,e=0;
float f,g;
printf("输入数字,按0结束");
scanf("%d",&a);
if(a==0)
{
printf("error");
}
else
{
while(a!=0)
{
if(a>0)
{
b=b+a;
c++;
}
else
{
d=d+a;
e++;
}
scanf("%d",&a);
}

f=(float)b/c;
g=(float)d/e;
printf("%.2f %.2f",f,g);
}
return 0;
}

 

实验要求:

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

#include<stdio.h>
int main()
{
    int a,b,c,d;
    for(a=2;a<=1000;a++)
    {
        for(b=2;b<a;b++)
        {
            if(a%b==0)
            break;
        }
        if(b>=a)
        {
            printf("%03d ",a);
            c++;
            if(c%10==0)
        {
            printf("\n"); 
        }
        }
    }
    return 0;
}

实验要求:

8.打印下列图形

 

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

二、本次课知识点总结

1,循环语句的嵌套

三、实验总结

1,在素数每十行输出的时候,因为换行的语句没在循环语句中,导致换行多了很多。

2,输出图形的时候,把*,‘ ’与a的关系。

3,输出字符的时候只把输入语句放在了循环体中,导致无法输入。没结果。

 

posted @ 2016-10-24 23:03  计科1601史增宇  阅读(247)  评论(3编辑  收藏  举报