第二章 算法——程序的灵魂
例2.1 求1 * 2 * 3 * 4 * 5。
#include<stdio.h>
int main()
{
int p=1,i=2;
for(i=2;i<=5;i++)
p=p*i;
printf("结果为:%d\n",p);
return 0;
}
运行结果如下:
例2.2 有10个学生,要求输入成绩在80分以上的学生的学号和成绩。
#include<stdio.h>
int main()
{
float a[10];
int i;
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
if(a[i]>=80)
printf("学号:%2d 成绩:%3.1f\n",i+1,a[i]);
}
return 0;
}
运行结果如下:
例2.3 判定2000—2500年中的每一年是否为闰年,并将结果输出。
#include<stdio.h>
int main()
{
int i;
for(i=2000;i<=2500;i++)
{
if(i%4!=0)
continue;
else
if(i%400==0)
printf("%d\t",i);
else
if(i%100==0)
continue;
else
printf("%d\t",i);
}
printf("\n");
return 0;
}
运行结果如下:
例2.4 求 1-1/2+1/3-1/4+…+1/99-1/100。
#include<stdio.h>
int main()
{
int i,s=-1;
double j,sum=0;
for(i=1;i<=100;i++)
{
s=-1*s;
j=s*(1.0/i);
sum=sum+j;
}
printf("%f\n",sum);
return 0;
}
运行结果如下:
例2.5 给出一个大于或等于3的正整数,判断它是不是一个素数。
#include<stdio.h>
int main()
{
int n,i,r=1;
printf("请输入一个大于或等于3的正整数:");
scanf("%d",&n);
for(i=2;i<n;i++)
{
if(n%i==0)
r=0;
}
if(r==0)
printf("%d不是素数\n",n);
else
printf("%d是素数\n",n);
return 0;
}
运行结果如下: