第二章 算法—程序的灵魂
例2.1 求1x2x3x4x5
#include<stdio.h>
int main()
{
float sum=1,n;
for(n=1;n<6;n++)
{
sum=sum*n;
}
printf("sum=%f",sum);
return 0;
}
运行结果如下:
例2.2 有50个学生,要求输出成绩80分以上的学生的学号和成绩
#include<stdio.h>
int main( )
{
int i,g[5],n[5];
printf("请输入学生的成绩\n");for( i=0;i<5;i++ ){
n[i]=i;
scanf("%d" ,&g[i]);
}
printf("\n");
printf( "成绩\t学号\n");for(i=0;i<5;i++ ){
if(g[i]>80)
printf("%d\t%d\n", g[i],n[i]);
}
return 0;
}
例2.3 判定2000—2500年的每一年是否为闰年,并将结果输出
#include<stdio.h>
int main()
{
int i,year;
printf("闰年\n");
for(i=2000;i<=2500;i++)
{
if((i%400==0)||(i%4==0&&i%100))
printf("%d\t",i);
}
printf("\n");
return 0;
}
运行结果如下:
例2.4 求1-1/2+1/3-1/4+…+1/99-1/100
#include<stdio.h>
int main( )
{
int sign=1 ,i;
double sum=1 , deno=2, term;while( deno<51 )
{
sign=(-1 )*sign;
term=sign*( 1/deno);sum+=term;deno++ ;
}
printf("sum=%f\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==0)break; }if(i<n)
printf( "%d不是素数\n" ,n);
else
printf( "%d是素数\n" ,n);return 0;
}
运行结果如下: