第2章 算法-程序的灵魂
例2.1求12345。
#include<stdio.h>
int main()
{
int i=1,m=2;
while(m<=5)
{
i=i*m;
m=m+1;
}
printf("%d\n",i);
return 0;
}
运行结果如下:
例2.2有50个学生,要求输出成绩在80分以上的学生的学号和成绩。
#include<stdio.h>
int main()
{
int i;
int N[50],S[50];
for(i=0;i<50;i++)
{
printf("请输入第%d个学生的学号和成绩\n",i+1);
scanf("%d%d",&N[i],&S[i]);
}
printf("成绩高于80分的学生的学号是:\n");
for(i=0;i<50;i++)
{
if(S[i]>80)
{
printf("%d",N[i]);
}
}
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>
void main()
{
int i;
float j=1.0,sum=0;
for(i=1;i<=100;i++)
{
sum+=j/i;j=-j;
}
printf("sum=%.4f",sum);
}
运行结果如下:
例2.5给出一个大于或等于3的正整数,判断它是不是一个素数。
#include<stdio.h>
#include<conio.h>
int main()
{
printf("请输入一个大于或等于3的正整数:");
int a,b,c=0;
scanf("%d",&b);
for(a=2;a<b;a++)
{
if(b%a==0)
c++;
}
if(c==0)
printf("是素数");
else
printf("不是素数");
getch();
}
运算结果如下:
例2.6求5!。
#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;
}
运行结果如下: