第4次作业

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

      

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,i,k,sum1,sum2;
 5     printf("输入数字:\n");
 6     scanf("%d",&a);
 7     if(a%2!=0)
 8     {
 9         for(i=1;i<=a;i=i+2)
10         {
11             sum1=sum1+i;
12         }
13         printf("和为%d",sum1);
14     }
15     else if(a%2==0)
16     {
17         for(k=2;k<=a;k=k+2)
18         {
19             sum2=sum2+k;
20         }
21         printf("和为%d",sum2);
22     }
23     return 0; 
24 }

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

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,k;
 5     float sum=0,sum1=0,sum2=0;
 6     for(i=1;i<=100;i++)
 7     {
 8         if(i%2==0)
 9         {
10             sum1=sum1-(float)1/i;
11         }
12         else if(i%2!=0)
13         {
14             sum2=sum2+(float)1/i;
15         }
16     }
17     sum=sum1+sum2;
18     printf("%.2f",sum);
19     return 0;
20  } 

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

 1 # include <stdio.h>
 2 int main()
 3 {
 4     int x=3000,y=0,i;
 5     for(i=2000;i<=x;i++)
 6     {
 7         if((i%4==0&&i%100!=0)||i%400==0)
 8         {
 9             printf("  %d",i);
10             y=y+1;
11             if(y%10==0)
12             {
13                 printf("\n");
14             }
15         }
16     }
17     printf("\n");
18     printf("闰年有%d个",y); 
19  return 0;    
20 }

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

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int x,m,i,y=1;
 5     printf("输入x,m的值:");
 6     scanf("%d,%d",&x,&m);
 7     for(i=1;i<=m;i++)
 8     {
 9         y=y*x;    
10     } 
11     printf("x的m次方的值为%d:",y);
12     return 0;
13  } 

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

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a=0,b=0,e=0,d=0,i;
 5     char x;
 6     while(x!='\n')
 7     {
 8         for(i=1;i>=0;i++)
 9         {
10         scanf("%c",&x);
11         if(x=='\n')
12         {
13             break;
14         }
15         else if((x>='a'&&x<='z')||(x<='Z'&&x>='A'))
16         {
17             a++;
18         }
19         else if(x>='0'&&x<='9')
20         {
21             b++;
22         }
23         else if(x==' ')
24         {
25             e++;
26         }
27         else if(x!='\n')
28         {
29             d++;
30         }
31         }
32     }
33     printf("字母%d个,数字%d个,空格%d个,其他%d个",a,b,e,d);
34     return 0; 
35  } 

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

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b=0,c=0,d=0,e=0;
 5     float x,y;
 6     printf("请输入数字\n");
 7     scanf("%d",&a); 
 8     do
 9     {    if(a>=0)
10         {
11             c=c+a;
12             scanf("%d",&a);
13             b++;
14             
15         }
16         else 
17         {
18         e=e+a;
19         scanf("%d",&a);
20         d++; 
21         }    
22     }
23     while(a!=0)  ;
24     x=(float)c/b;
25     y=(float)e/d; 
26     printf("%.2f,%.2f",x,y); 
27     return 0; 
28  } 

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

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.h>
 4 int main()
 5 {
 6     int i,m,flag,c,d,b;
 7     for(m=1;m<=1000;m++)
 8     {
 9         c=sqrt(m);
10         flag=0;
11         for(i=2;i<=c;i++)
12         {
13             if(m%i==0)
14             {
15             flag=1;
16             break;
17             }
18         }
19         if(flag!=1)
20         {
21             printf(" %d",m);
22             b++;
23             if(b!=0&&b%10==0)
24             { 
25                 printf("\n");
26             }            
27         }
28     }
29     printf("\n");
30     printf("一共%d个素数",b);
31     return 0;
32  
33 }

8.打印下列图形

             

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i,j,k;
 5     for(i=5;i>=1;i--)
 6     {
 7         for(k=4;k>=i;k--)
 8         {
 9             printf(" ");
10          } 
11         for(j=1;j<=2*i-1;j=j+1)
12         {
13             printf("*");            
14         }
15         printf("\n");
16     } 
17     return 0;    
18  } 

 二、本次课知识点总结

1for和if两个语句可以循环叠加。

2为了保证循环正常结束,在循环内改变变量。

3 do while的while后加;。

  三、实验总结(实验中遇到的问题及解决方法)

1注意赋值在循环之前,输入变量在输出之前。

2while语句的大括号外不用加;。

posted @ 2016-10-26 18:19  入梦落樱满熏香  阅读(278)  评论(3编辑  收藏  举报