第二章 算法------程序的灵魂
利2.1 求5的阶乘
例2.2 有50个学生,要求输出成绩在80分以上的学生的学号和成绩。
例2.3 判定2000——2005年中的每一年是否为闰年,并将结果输出。
例2.4 求1-1/2+1/3-1/4+…+1/99-1/100。
例2.5 给出一个大于或等于3的正整数,判断它是不是一个素数。
利2.1 求5的阶乘
#include<stdio.h>
int main()
{
int i,t;
t=1;
i=2;
while(i<=5)
{
t=t*i;
i=i++;
}
printf("%d\n",t);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
运行结果如下:
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190221195234985.png)
例2.2 有50个学生,要求输出成绩在80分以上的学生的学号和成绩。
#include<stdio.h>
int main()
{
int i,j,score[50];
for(i=0;i<50;i++)
scanf("%d",&score[i]);
for(j=0;j<50;j++)
{
if(score[j]>=80)
printf("%d\n",score[j]);
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
运行结果如下:
在这里插入图片描述
例2.3 判定2000——2005年中的每一年是否为闰年,并将结果输出。
#include<stdio.h>
int main()
{
int year;
printf("请输入年份:");
scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0)
printf("是闰年\n",year);
else
printf("不是闰年\n",year);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
运行结果如下:
在这里插入图片描述
例2.4 求1-1/2+1/3-1/4+…+1/99-1/100。
#include<stdio.h>
int main()
{
int sign=1;
double deno=2.0,sum=1.0,term; //定义deno,sum,term为双精度型变量
while(deno<=100)
{
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
}
printf("%f\n",sum);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
运行结果如下:
在这里插入图片描述
例2.5 给出一个大于或等于3的正整数,判断它是不是一个素数。
#include<stdio.h>
int main ()
{
int i,w=0,k;
printf("请输入一个大于三的整数\n");
scanf("%d",&i);
for(k=2;k<i;k++)
{
if(i%k==0)
w=w+1;
}
if(w==0)
printf("是素数");
else
printf("不是素数");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
运行结果如下: