1.编写程序,输入一个整数x,按照下式输出对应的y值。
#include <stdio.h>
int main()
{
int x,i,sum=0;
printf("输入x:");
scanf("%d",&x);
if(x%2!=0)
{
for(i=1;i<=x;i+=2)
{
sum+=i;
}
printf("%d",sum);
}
else
{
for(i=2;i<=x;i+=2)
{
sum+=i;
}
printf("%d",sum);
}
return 0;
}

2.编程求1-1/2+1/3-1/4+1/5- … +1/99-1/100,结果保留两位小数。
#include <stdio.h>
int main()
{
int i;
float a=0,b=0,result;
for(i=1;i<=99;i+=2)
{
a+=1.0/i;
}
for(i=2;i<=100;i+=2)
{
b+=1.0/i;
}
result=a-b;
printf("%.2f\n",result);
return 0;
}

3.输出2000年至3000年所有闰年的年号,每输出10个年号换一行。最后统计一共有多少个闰年。
#include <stdio.h>
int main()
{
int years,i=0,a=0;
for(years=2000;years<=3000;years++)
if(years%4==0&&years%100!=0||years%400==0)
{
printf("%5d",years);
a++;
i++;
if(i%10==0)
{
printf("\n");
}
}
printf("共有%d个闰年",a);
return 0;
}

4.输入一个实数x和一个整数m,计算xm,不允许调用pow()函数。
#include<stdio.h>
int main()
{
float x,y=1;
int m,i;
printf("请输入一个实数x和整数m");
scanf("%f,%d",&x,&m);
if(m>=0)
{
for(i=1;i<=m;i++)
{
y=y*x;
}
else
{
for(i=-1;i>=m;i--)
{
y=1/x*y;
}
}
printf("%f",y);
return 0;
}

5.输入一串字符,分别统计其中字母、空格、数字和其他字符的个数。
#include <stdio.h>
int main()
{
char p;
int a=0,b=0,c=0,d=0;
printf("输入一串字符:");
scanf("%c",&p);
while(p!='\n')
{
if(p>='a'&&p<='z'||p>='A'&&p<='Z')
a++;
else if(p>'0'&&p<'9')
b++;
else if(p==' ')
c++;
else
d++;
scanf("%c",&p);
}
printf("字母有%d个,数字有%d个,空格有%d个,其他字符有%d个",a,b,c,d);
return 0;
}

6.输入一批数(正数和负数),输入0结束,分别计算其中正数的平均值和负数的平均值,
#include <stdio.h>
int main()
{
int x,i=0,k=0,sum1=0,sum2=0;
float average1,average2;
printf("输入一批数字");
scanf("%d",&x);
while(x!=0)
{
if(x>0)
{
i++;
sum1=sum1+x;
average1=sum1/i;
}
else
{
k++;
sum2=sum2+x;
average2=sum2/k;
}
scanf("%d",&x);
}
if(i==0&&k!=0)
{
printf("没有正数,负数的平均数为%.2f",average2);
}
else if(i!=0&&k==0)
{
printf("没有负数,正数的平均数为%.2f",average1);
}
else if(i==0&&k==0)
{
printf("没有数字");
}
else
{
printf("正数的平均值为%.2f,负数的平均值为%.2f",average1,average2);
}
return 0;
}

7.输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
#include<stdio.h>
int main()
{
int i,j,g=0;
for(i=2;i<=1000;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0)
{
break;
}
}
if(j==i)
{
printf("%3d ",i);
g++;
if(g%10==0)
{
printf("\n");
}
}
}
printf("一共有%d个素数",g);
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.注意break与continue的区别,brake结束循环continue结束本次循环。
2.注意while与for语句与do...while语句的区别。
3.注意观察题目的规律。
4.注意细节,for语句的嵌套等。
知识点总结:1.三种循环的形式丶执行过程丶注意事项以及适宜的场所。
2.理解区分break和continue的使用。
3.循环嵌套的使用。
4.break一般与if语句和switch语句连用。

