代码改变世界

第四次作业

2016-10-29 21:48  魏振川  阅读(205)  评论(1编辑  收藏  举报

一、实验内容     

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

      

#include<stdio.h>
int main()
{
    int x,y=0,sum=0,i;
    printf("输入一个整数");
    scanf("%d",&x);
    if(x%2==0)
    {
        for(i=2;i<=x;i+=2)
        {
            sum=sum+i;
        }
            printf("%d",sum);
    }
    else
    {
        for(i=1;i<=x;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()
{
    float x,y,sum1=0,sum2=0,a;
    for(x=1;x<=99;x+=2)
    {
        sum1=sum1+1.0/x;
    }
    for(y=2;y<=100;y+=2)
    {
        sum2=sum2+1.0/y;
    }
    a=sum1-sum2;
    printf("%0.2f",a);
    return 0;
}
#include<stdio.h>
int main()
{
    float x,y,sum1=0,sum2=0,a;
    for(x=1;x<=99;x+=2)
    {
        sum1=sum1+1.0/x;
    }
    for(y=2;y<=100;y+=2)
    {
        sum2=sum2+1.0/y;
    }
    a=sum1-sum2;
    printf("%0.2f",a);
    return 0;
}

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

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

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

#include<stdio.h>
int main()
{
int m;
float y=1.0,x,z;
printf("请输入一个实数x和一个整数m");
scanf("%f%d",&x,&m);
for(z=1;z<=m;z++)
{
y=y*x;
}
printf("%0.2f",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++;
        }
        else if(a>='a'&&a<='z')
        {
            c++;
        }
        else if(a==' ')
        {
            d++;
        }
        else if(a>='0'&&a<='9')
        {
            e++;
        }
        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 x,i=0,j=0,a=0,b=0,c,d;
    printf("输入一批数,输入零结束");
    scanf("%d",&a);
    if(a==0)
    {
        printf("error");
    }
    else
    {
    while(x!=0)
    {
        if(x>0)
        {
            i++;
            a=a+x;
            c=(float)a/i;
        }
        else if(x<0)
        {
            j++;
            b=b+x;
            d=(float)b/j;
        }
        scanf("%d",&x);
    }
    }
    printf("所有正数的平均数是%.2f,所有负数的平均数是%.2f",c,d);
    return 0;
}

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

#include <stdio.h>
int main()
{
    int x,y,flag=0,f=0;
    for(x=2;x<=1000;x++)
    {
        for(flag=0,y=2;y<=x-1;y++)
 {
        if(x%y==0)
        {
            flag=1;
            break;
        }
    }
        if (flag!=1)
    {
        printf("%4d",x);
        f++;
        if (f%10==0)
        {
        printf("\n");    
        }
    }
 }
    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;
}