题目是
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入 x,计算并输出下列分段函数 f(x) 的值(保留2位小数),请调用 sqrt 函数求平方根,调用 pow 函数求幂。
当x >= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。
输入输出示例:括号内是说明
输入
3 (repeat=3)
10
-0.5
0
输出
f(10.00) = 3.16
f(-0.50) = -2.75
f(0.00) = 0.00
#include <stdio.h>
#include <math.h>
int main(void)
{
int repeat, ri;
double x, y;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
printf("f(%.2f) = %.2f\n", x, y);
}
}
这该怎么写??
C语言写计算分段函数
答案:2 悬赏:30
解决时间 2021-03-13 06:59
- 提问者网友:朱砂泪
- 2021-03-12 08:28
最佳答案
- 二级知识专家网友:青灯壁纸妹
- 2021-03-12 09:07
你确定y也是0-40间的整数吗?如果是的话,那么该分段函数中的第三段计算的结果已经超出了数值范围啊;如果y的取值没有限制,那么程序如下:
#include
void main ()
{
int x,y;
scanf("%d",&x);
if(x>=0&&x<10) y=x;
else if(x>=10&&x<20) y=10;
else if(x>=20&&x<40) y=x*x+3;
else
{
printf("error:x不是0-40之间的整数!\n");
return;
}
printf("%d\n",y);
}
#include
void main ()
{
int x,y;
scanf("%d",&x);
if(x>=0&&x<10) y=x;
else if(x>=10&&x<20) y=10;
else if(x>=20&&x<40) y=x*x+3;
else
{
printf("error:x不是0-40之间的整数!\n");
return;
}
printf("%d\n",y);
}
全部回答
- 1楼网友:年轻没有失败
- 2021-03-12 09:25
#include <stdio.h>
#include <math.h>
int main(void)
{
int repeat, ri;
double x, y;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%lf",&x);
y=x>=0?sqrt(x):pow(x+1,2)+2*x+1/x;
printf("f(%.2f) = %.2f\n", x, y);
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯