第二章 算法——程序的灵魂
例2.1 求1×2×3×4×5
#include<stdio.h>
int main()
{
int i,fac=1;
for(i=1;i<6;i++)
{
fac=fac*i;
}
printf("fac is %d\n",fac);
return 0;
}
运行结果如下
例2.2 有50个学生,要求输出成绩在80分以上的学生的学号和成绩
#include <stdio.h>
int main()
{
int i;
int No[5],Score[5];
for(i=0;i<5;i++)
{
printf("请输入第%d个学生的学号和成绩\n",i+1);
scanf("%d %d",&No[i],&Score[i]);
}
printf("成绩高于80分的学生的学号是:\n");
for(i=0;i<5;i++)
{
if(Score[i]>80)
{
printf("% d\n",No[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;
}
郑金燃 2019/2/22 19:43:59
例2.4 求1-1/2+1/3…-1/100
#include<stdio.h>
#include<math.h>
int main()
{
double sum=0;
int n,i,sign=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=1.0/i*sign;
sign=-sign;
}
printf("%lf\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==1)
{
printf("n是素数\n",n);
break;
}
}
if(n%i==0)
{
printf("n不是素数\n",n);
}
return 0;
}
运行结果如下
例2.18 求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;
}
运行结果如下
例2.19 求多项式(1-1/2+1/3…-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;
}
运行结果如下