第四次作业

实验一:

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

      

#include<stdio.h>
int main()
{
    int x,y=0,i;
    printf("请输入一个整数:\n");
    scanf("%d",&x);
    if(x%2==0)
    {
        for(i=0;i<=x;i+=2)
        {
            y=y+i;
        }
    }
    else if(x%2==1)
    {
        for(i=1;i<=x+1;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 x; 
	float s1=0,s2=0,s=0;
	for(x=1;x<=100;x++)
	{
		if(x%2==0)
		{
			s1=s1-(1.0/x);
		}
		else
		{
			s2=s2+(1.0/x);
		}
	}
	s=s1+s2;
	printf("输出的值为%.2f",s);
	return 0;
} 

 

实验三:

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

#include<stdio.h>
int main()
{
    int year,i=0,n=0;
    for(year=2000;year<=3000;year++)
    {
        if(year%4==0&&year%100!=0||year%400==0)
        { 
          printf("%d ",year);
          i++;
          if(i%10==0)
          {
            printf("\n"); 
          }
        } 
    }
    printf("\n在2000年到3000年之间共有%d个闰年",i);
 } 

 

实验四:

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

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

 

实验五:

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

#include<stdio.h>
int main()
{
    int large=0,small=0,digital=0,space=0,other=0;
    char m;
    printf("请输入一串字符:\n");
    scanf("%c",&m);
    while(m!='\n')
    {
        if(m>='a'&&m<='z')
        {
            small++;
        }
        else if(m>='A'&&m<='Z')
        {
            large++;
        }
        else if(m>='0'&&m<='9')
        {
            digital++;
        }
        else if(m==' ')
        {
            space++;
        }
        else
        {
            other++;
        }
        scanf("%c",&m);
    }
    printf("这串字符中\n数字有%d个\n大写字母有%d个\n小写字母有%d个\n空格有%d个\n其他字符有%d个\n",digital,large,small,space,other);
return 0; }

 实验六:

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

#include<stdio.h>
int main()
{
    float s1=0,s2=0,digital,a=0,b=0;
    printf("请输入一批数字,按0结束\n");
    scanf("%f",&digital);
    if(digital==0) 
    {
        printf("error");
    }
    else if(digital>0||digital<0)
    {
        while(digital!=0)
        {
            if(digital>0)
            {
                s1=s1+digital;
                a++;
            }
            else if(digital<0)
            {
                s2=s2+digital;
                b++;
            }
            scanf("%f",&digital);
        }
        printf("正数的平均数为:%f\n负数的平均数为:%f",s1/a,s2/b);
    }
    else
    {
        printf("请输入数字"); 
    }
    return 0;
 } 

 

 

实验七:

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

 #include<stdio.h>
 int main()
 {
     int i,x,n=0;
     for(i=2;i<=1000;i++)
     {
         for(x=2;x<=i;x++)
         {
             if(i%x==0)break;
         }    
          if(i==x) 
         { 
                printf("%5d ",i);
                n++;
         if(n%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;
}

知识点总结:

1  for语句的应用形式(循环变量赋初值;循环的范围;循环变量增值)

2  循环变量加一的几种形式 i++;++i;i=i+1;i+=1

3  while语句的一般形式

   while(表达式)

   {

      循环语句;

   }

4  do  while语句的一般形式

    do

  {

    循环语句;

   }while(表达式);

实验总结:

1  当知道循环体的条件时一般有if语句  当不知道循环体条件时用do  while语句

2  在必要的情况时要记得赋初值

3  在运用整除运算符时必须是整形的

4  for语句中的三个语句之间使用分号隔开

5  0不能够作为分母

6  for循环语句只执行后面的一个括号

原文地址:https://www.cnblogs.com/myfdpk/p/6004903.html