1、100以内能被5或7整除的数,每行5个数的显示出来。
程序:
#include <stdio.h>
int main()
{
int i=1;
int j=1;
while(i<=100)
{
if(i%5==0||i%7==0)
{
if(j%5==0)
printf("%d\n",i);
else
printf("%d ",i);
j++;
}
i++;
}
return 0;
}
注意:每行显示5个数的方法,即满足输出条件5次后输出换行符。
2、e的近似值:e=1+1+1/2!+...+1/n!,当1/n!<1e-6时,不满足条件。
方法1:
#include <stdio.h>
int main()
{
float e=1.0;
int n=1;
int m=1;
while(m<1e+6)
{
m*=n;
n++;
e+=1.0/m;
}
printf("%f\n",e);
return 0;
}
注意:e+=1.0/m,两个整形操作数相除得到的还是整形,必须有一个为浮点数(1.0)其结果才能是浮点数。
方法2:
#include <stdio.h>
int fun(int);
int main()
{
float e=1.0;
int n=1;
while(1.0/fun(n)>=1e-6)
{
e+=1.0/fun(n);
n++;
}
printf("%f\n",e);
return 0;
}
int fun(int m)
{
int t=1;
int i;
for(i=1;i<=m;i++)
t*=i;
return t;
}
注意:被调用的函数要首先声明,其返回值为整型时不需要把它设为浮点型
3、1900年至2000年内所有闰年的求法。
程序:
#include <stdio.h>
int main()
{
int n;
for(n=1900;n<=2000;n++)
{
if(n%100!=0&&n%4==0)
printf("%d ",n);
else if(n%400==0)
printf("%d ",n);
}
return 0;
}