题目:

有一个函数
y={  x      x<1
    |  2x-1   1<=x<10
    { 3x-11  x>=10

写一段程序,输入x,输出y

解题思路:

分段函数的自变量大小范围不同,所对应的因变量表达式不同,因此我们想到需要使用选择结构,选出正确的表达式后再做计算。

此分段函数分为了三段,因此我们使用if else多选择结构来实现。

参考代码:

#include<stdio.h>

int main(void){

int x,y;

scanf("%d",&x);

if(x<1){
        y = x;
        printf("%d",y);//第一段表达式
        }else if(x<10){
                        y = 2 * x - 1;
                        printf("%d",y);//第二段表达式
                        }else{
                              y = 3 * x - 11;
                              printf("%d",y);//第三段表达式
                              }
return 0;
}
点赞(0)
 

0.0分

10 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 5 条评论

test 2年前 回复TA
@test #include<stdio.h>
test 2年前 回复TA
#include<stdio.h>
int main()
{
    int x,y;
    scanf("%d",&x);
    if(x<1)
    y=x;
    printf("%d",y);
    if(x>=1&&x<10)
    y=2*x-1;
    printf("%d",y);
    if(x>=10)
    y=3*x-11;
    printf("%2d\n",y);
	return 0;
}
  为什么我写的这个程序,输出的结果是0032
dsa 2年前 回复TA
@AE86 你定义的是整型数,0.5是浮点数,自动取整变为0
AE86 2年前 回复TA
为啥子x=0.5或者其他小数时,y=0,但交上去是正确的
菜蛙 2年前 回复TA
欢迎大家交流讨论呀~