第2章 算法——程序的灵魂
【例2.1】【例2.6】【例2.11】【2.16】求5!
#include<stdio.h>
int main()
{
int p,i;
p=1;
for(i=2;i<=5;i++)
p=p*i;
printf("5!=%d\n",p);
return 0;
}
运行结果如下:
【例2.2】【例2.7 例2.12 】有50个学生,要求输出成绩在80分以上的学生的学号和成绩(以5个为例)
#include<stdio.h>
int main()
{
int i;
/*成绩为g,学号为n*/
int g[5]={68,78,80,98,67};
int n[5]={1,2,3,4,5};
for(i=1;i<=5;i++)
{if(g[i]>=80)
printf("学号:%d,成绩:%d\n",n[i],g[i]);}
return 0;
}
运行结果如下:
【例2.3】【例2.8】【例2.13】【】判定2000——2500年中的每一年是否为闰年,并将结果输出(以2000——2300为例)
#include<stdio.h>
int main()
{
int year;
for(year=2000;year<=2300;year++)
{if(year%4==0&&year%100!=0||year%400==0)
printf("%d是闰年 ",year);
else printf("%d不是闰年 ",year);}
return 0;
}
运行结果如下:
【例2.4】【例2.9】【例2.14】【例2.17】【例2.19】求1-1/2+1/3-1/4±–+1/99-1/100
#include<stdio.h>
int main ()
{
double sum=1,sign=1,deno,term=0;
for(deno=2;deno<=100;deno++)
{sign=(-1)*sign;
term=sign*(1/deno);
sum=sum+term;
deno=deno+1;}
printf("%lf",sum);
return 0;
}
运行结果如下:
【例2.5】【例2.10】【例2.15】给出一个大于或等于3的正整数判断它是不是一个素数
#include<stdio.h>
int main ()
{
int n,i,c;
//c为中间值
printf("请输入一个大于3的正整数:");
scanf("%d",&n);
for(i=2;i<n;i++)
{c=n%i;
if(c==0)
{print("%d不是素数",n);
break;}
else if(i==n-1)
printf("%d是素数",n);
}
return 0;
}
运行结果如下: