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