C语言程序设计第五章例题
例5.1 求1—100的和
#include<stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
printf("sum=%d\n",sum);
return 0;
}
运行结果如下:
例5.2 用do…while语句实现1—100的和
#include<stdio.h>
int main()
{
int i=1,sum=0;
do
{
sum=sum+i;
i=i+1;
}while(i<=100);
printf("sum=%d\n",sum);
return 0;
}
运行结果如下:
例5.3 while与do…while循环的比较
#include<stdio.h>
int main()
{
int i,sum=0;
printf("请输入i的值\n");
scanf("%d",&i);
while(i<=10)
{
sum=sum+i;
i=i+1;
}
printf("sum=%d\n",sum);
return 0;
}
运行结果如下:
当输入的值大于while后的值时的运行结果
#include<stdio.h>
int main()
{
int i,sum=0;
printf("请输入i的值\n");
scanf("%d",&i);
do
{
sum=sum+i;
i=i+1;
}while(i<10);
printf("sum=%d\n",sum);
return 0;
}
运行结果如下:
例5.4 在全系1000名学生中举行捐募活动,当总数达到十万时就停止,统计此时捐款人数以及平均每人捐款的数目
#include<stdio.h>
int main()
{
int i;
float a,sum=0,aver;
printf("请输入存款金额\n");
for(i=1;i<=1000;i++)
{
scanf("%f",&a);
sum=sum+a;
if(sum>=100000)
break;
}
aver=sum/i;
printf("此时捐款人数为%d\n平均每人捐款数目为%.2f\n",i,aver);
return 0;
}
运行结果如下:
例5.5 要求输出100-200之间不能被3整除的数
#include<stdio.h>
int main()
{
int i;
printf("100-200之间不能被三整除的数有\n");
for(i=101;i<200;i++)
{
if(i%3!=0)
printf("%5d",i);
}
return 0;
}
例5.6 输出以下4*5矩阵
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
#include<stdio.h>
int main()
{
int i,j,n=0;
for(i=1;i<=4;i++)
for(j=0;j<=5;j++)
{if(n%5==0) printf("\n");
printf("%d",i*j);
}
printf("\n");
return 0;
}
运行结果如下:
例5.8 输出斐波那契数列的前40项
#include<stdio.h>
int main()
{
int f1,f2,f3,i;
f1=1,f2=1;
for(i=3;i<=40;i++)
{
f3=f1+f2;
f1=f2;f2=f3;
printf("%12d",f3);
}
return 0;
}
运行结果如下:
例5.9 输入一个大于三的数,判断它是否为素数
#include<stdio.h>
int main()
{
int i,n;
printf("请输入一个大于三的数:\n");
scanf("%d",&i);
for(n=2;n<i;n++)
{
if(i%n==0)
break;
}
if(n>=i)
printf("这个数是素数\n");
else printf("这个数不是素数\n");
return 0;
}
运行结果如下:
例5.10 输出100-200之间全部素数
#include<stdio.h>
int main()
{
int i,n;
for(i=101;i<200;i++)
{
for(n=2;n<i;n++)
{ if(i%n==0)
break;
}
if(n>=i)
printf("%5d",i);
}
printf("\n");
return 0;
}
运行结果如下: