帮忙设计一个C语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:01:12
编程实现:接收一个正整数n,当n为偶数时,计算1/2+1/4+…+1/n的值。当n为奇数时,计算1/1+1/3+…+1/n的值,以上两个计算过程通过自定义函数实现,并将结果通过屏幕输出。
具体要求如下:
1、在主程序中,先给出如下提示:“请输入一个正整数:”,按照要求输入一个正整数。判断这个正整数是奇数还是偶数,若是奇数则调用函数addodd求和,若是偶数则调用函数addeven求和。
2、定义并编写float addodd(int n)函数和float addeven(int n)函数。
编写函数addodd函数实现计算“1/1+1/3+…+1/n”并返回结果的功能
编写函数addeven函数实现计算“1/2+1/4+…+1/n”并返回结果的功能
3、按要求打印出最后的结果:输出加法的公式,加数最多显示前五项和最后一项,中间如果有省略要用“…”连接;并且要求输出的结果保留3位小数。
如:输入的正整数为100时,输出结果应该为:
“1/2+1/4+1/6+1/8+1/10+…+1/100=2.250”。
4、程序提示“是否继续输入(y/n)?”,若输入y或Y则继续输入下一个正整数,重复上面的操作,否则退出程序。
!!!前提是不能用<指针>做啊!!!!

#include<stdio.h>
void addeven(int num)
{
float sum = 0.0f;
int i = 0;
for(i = 2; i <= num; i += 2)
sum += (float)1/i;
if( num <= 10)
{
for(i = 2; i < num; i += 2)
printf("1/%d + ", i);
printf("1/%d = %.3f\n", i, sum);
}
else
{
for(i = 2; i <= 10; i += 2)
printf("1/%d + ", i);
printf("… + 1/%d = %.3f\n", num, sum);
}
}

void addodd(int num)
{
float sum = 0.0f;
int i = 0;
for(i = 1; i <= num; i += 2)
sum += (float)1/i;
if( num <= 10)
{
for(i = 1; i < num; i += 2)
printf("1/%d + ", i);
printf("1/%d = %.3f\n", i, sum);
}
else
{
for(i = 1; i <= 9; i += 2)
printf("1/%d + ", i);
printf("… + 1/%d = %.3f\n", num, sum);
}
}