第二章 算法——程序的灵魂
- 例2.1求1乘2乘3乘4乘5
- 例2.2有50个学生,要求输出成绩在80分以上的学生的学号和成绩。
- 例2.3判定2000-2500年中的每一年是否为闰年,并将结果输出
- 例2.4求1-1/2+1/3-1/4······+1/99-1/100
- 例2.5给出一个大于或等于3的正整数,判断他是不是一个素数
- 例2.6将2.1的算法用流程图表示。求1乘到五。
- 例2.7例2.2的算法用流程图表示
- 例2.8例2.3的算法用流程图表示
- 例2.9例2.4的算法用流程图表示
- 例2.10例2.5的算法用流程图表示
- 例2.11将例2.1的求5!用N-S图表示
- 例2.12将例2.2的算法用N-S图表示
- 例2.13将例2.3的算法用N-S表示
- 例2.14例2.4的算法用N-S表示
- 例2.15将例2.5的算法用N-S表示
- 例2.16例2.2的算法用流程图表示
- 例2.17
- 例2.18
- 例2.19
例2.1求1乘2乘3乘4乘5
#include<stdio.h>
int main()
{
int i,n=1;
for(i=1;i<6;i++)
{
n=n*i;
}
printf("%d",n);
return 0;
}
运行结果为:
例2.2有50个学生,要求输出成绩在80分以上的学生的学号和成绩。
#include <stdio.h>
int main()
{
int i;
int No[50],Score[50];
for(i=0;i<50;i++)
{
printf("请输入第%d个学生的学号和成绩\n",i+1);
scanf("%d,%d",&No[i],&Score[i]);
}
printf("成绩高于80的学生的学号是\n");
for(i=0;i<50;i++)
{
if(Score[i]>80)
{
printf("%d",No[i]);
}
}
}
运行的结果是:
例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 i,a=1;
double s=0.0;
for(i=1;i<101;i++)
{
s+=a*1.0/i;
a=-a;
printf("%lf",s);
}
printf("sum=%lf\n",s);
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是素数");
break;
}
}
if(n%i==0)
{
printf("n不是素数");
}
}
运行的结果为:
例2.6将2.1的算法用流程图表示。求1乘到五。
例2.7例2.2的算法用流程图表示
例2.8例2.3的算法用流程图表示
例2.9例2.4的算法用流程图表示
例2.10例2.5的算法用流程图表示
例2.11将例2.1的求5!用N-S图表示
例2.12将例2.2的算法用N-S图表示
例2.13将例2.3的算法用N-S表示
例2.14例2.4的算法用N-S表示
例2.15将例2.5的算法用N-S表示
例2.16例2.2的算法用流程图表示
例2.17
例2.18
例2.19
//定义deno,sum,term为双精度型变量