中易网

C语言写计算分段函数

答案:2  悬赏:30  
解决时间 2021-03-13 06:59
题目是
程序填空,不要改变与输入输出有关的语句。
输入一个正整数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);
}
}

这该怎么写??
最佳答案
你确定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 <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); } }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
学习单片机用什么书好
食谱:多汁熊肉汉堡 这个食谱哪里弄地。。。
吕梁市书法家协会我想知道这个在什么地方
全日制大专文凭 和 专科(高职) 是一样的吗
哪个厂需要装冷风机
猫一直吐一直吐怎么办
江苏有线无锡分公司港下营业厅怎么去啊,有知
中国农业银行24小时自助银行(新惠路分理处)地
1966年出生的女人是穷命还是富贵命三月十五晚
怎么坐地铁从玉泉路到青年路?
宝贝熊儿童乐园怎么去啊,有知道地址的么
怎样在程序中修改Sql语句?
zuk自带天气预报是那家公司的可以更换么?
精点蛋糕在哪里啊,我有事要去这个地方
蚂蚁花呗上的钱是自己的吗
推荐资讯
畅联宽带水源服务中心在什么地方啊,我要过去
问道连锁蝙蝠侠网咖地址在什么地方,想过去办
白黄红绿黑五种不同颜色代表那五种粮食们的名
lol盲僧带不灭之握行不行
减肥多久会体型才会变化
融乐商贸有限公司地址有知道的么?有点事想过
排列这段话,只要找到4个关键词,用这些词写
问道怎么出现阵法
购买股票之后有什么证明吗 就是能够证明你是
电动车充电站不显示电量是什么地方坏了?
世纪难题。windows 共享 各种问题。求解(无
七喜酵素梅是三无产品吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?