[原创]这个题目怎么做才简单啊
我是做出来了,但是我感觉显示3小题的语句太多了怎么简化啊,在/* 。。。*/里面的语句用户接受一个正整数
2.判断这个数是奇数还是偶数
3.计算公式:这个数是奇数1/1+1/3+1/5+1/7+1/9...+1/n,这个数是偶数 1/2+1/4+1/6+1/8+1/10..+1/n,用函数编。
4.打印出结果:打印样式如下
5.计算机运行内容如下
6.要求打出结果,如果项目小于就全打出来,如果大于五个就打“...”在打 出最后一个然后打出结果。
7.结果保留3位小数
#include <stdio.h>
float oushu (int c);
float jishu (int d);
void main()
{
int a,b,i;
float num,chu;
printf("===please input number!!!===\n");
scanf("%d",&a);
b=a%2;
if (b==0)
{
printf("你输入的是偶数!!!\n");
num=oushu(a);
printf("这个偶数和是:%.3f\n",num);
/* if (a==2)
{
printf("1/2=%.3f\n",num);
}
else if (a==4)
{
printf("1/2+1/4=%.3f\n",num);
}
else if (a==6)
{
printf("1/2+1/4+1/6=%.3f\n",num);
}
else if (a==8)
{
printf("1/2+1/4+1/6+1/8=%.3f\n",num);
}
else if (a==10)
{
printf("1/2+1/4+1/6+1/8+1/10=%.3f\n",num);
} */
else
{
printf("1/2+1/4+...+1/%d=%.3f\n",a,num);
}
}
else
{
printf("你输入的是奇数!!!\n");
num=jishu(a);
printf("这个奇数和是:%f\n",num);
/* if (a==1)
{
printf("1/1=%.3f\n",num);
}
else if (a==3)
{
printf("1/1+1/3=%.3f\n",num);
}
else if (a==5)
{
printf("1/1+1/3+1/5=%.3f\n",num);
}
else if (a==7)
{
printf("1/1+1/3+1/5+1/7=%.3f\n",num);
}
else if (a==9)
{
printf("1/1+1/3+1/5+1/7+1/9=%.3f\n",num);
} */
else
{
printf("1/1+1/3+...+1/%d=%.3f\n",a,num);
}
}
}
float oushu (int c)
{
int i;
float chu,num=0.0;
for (i=2;i<=c;i+=2)
{
chu=1.0/i;
num=num+chu;
}
return(num);
}
float jishu (int d)
{
int i;
float chu,num=0;
for (i=1;i<=d;i+=2)
{
chu=1.0/i;
num=num+chu;
}
return(num);
}