第2章 算法——程序的灵魂
例2.1 求12345。
#include<stdio.h>
int main()
{ int i,t;
t=1;
i=2;
while(i<=5)
{t=t*i;
i=i+1;
}
printf("%d\n",t);
return 0;
}
运行结果如下:
例2.2 有50个学生,要求输出成绩在80分以上的学生的学号和成绩
#include <stdio.h>
#define N 5
int main()
{
int n[N],g[N];
int i;
for(i=0;i<N;i++)
{
printf("输入第%d个学生学号、成绩:",i+1);
scanf("%d,%d\n",&n[i],&g[i]);
}
for(i=0;i<N;i++)
{
if(g[i]>=80)
{
printf("学号:%d,成绩:%d\n",n[i],g[i]);
}
}
printf("\n");
return 0;
}
运行结果如下:
例2.3 判定2000-2500年中的每一年是否为闰年,并输出结果。
#include<stdio.h>
int main(){
int i;
for(i=2000;i<=2500;i++)
{
if((i%4==0 && i%100!=0)||(i%400==0))
printf("%d是闰年\n",i);
else
printf("%d不是闰年\n",i);
}
return 0;
}
运行结果如下:
例2.4 求多项式1-1/2+1/3-1/4+····+1/99-1/100
#include <stdio.h>
int main()
{
int sign=1;
double deno=2.0,sum=1.0,term;
while(deno<=100)
{
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
}
printf("%f\n",sum);
return 0;
}
运算结果如下:
例2.5 给出一个大于或等于3的正整数,判断它是不是一个素数。
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
printf("请输入一个大于等于3的正整数:");
scanf("%d",&n);
for(i=2;i<n;i++)
if(n%i==0)break;
if(i<n)
printf("%d不是素数\n",n);
else
printf("%d是素数\n",n);
return 0;
}
运行结果如下: