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