题目:

 

解题思路: 1. 先要声明两个变量x ,y;其中 x 获取用户输入,y根据关系式获得赋值。也可声明一个变量,不过看起来就没两个变量那么清晰

                2. 利用scanf函数获取用户输入。

                3.用条件语句,来确定 y 关于 x 的函数。

                4. 利用printf()输出 y值 。

注:此题可以用变量可以是float double 等类型,这里介绍两种方法

注意事项:   1)利用条件语句时,条件 1 <= x < 10,在if条件语句 要写成 x >= 1 && x < 10;而非1 <= x < 10

                  2)关系式 y =2x - 1; 写成代码的形式要把2x中的乘号写出,即 2 * x

参考代码:

i :int类型的变量

#include <stdio.h> 
int main(void)
{
    int x, y;
    scanf("%d", &x);                  //获取用户输入
     
    if (x < 1)                       //这里的if语句可以是多种形式,可以是三个if语句 也可以是if else  if else嵌套
      y = x;
    if (x >= 1 && x < 10)
      y = 2*x -1;
    if (x >= 10)
      y = 3*x - 11;
       
    printf("%d", y);
     
    return 0;
}

ii:double类型的变量

#include <stdio.h> 
int main(void)
{
    double x, y;
    scanf("%lf", &x);
     
    if (x < 1)                 //这里的if语句可以是多种形式,可以是三个if语句 也可以是if else  if else嵌套
      y = x;
    if (x >= 1 && x < 10)
      y = 2*x - 1;
    if (x >= 10)
      y = 3*x - 11;
       
    printf("%.0lf", y); //%.0lf中的0,是输出就是不带小数,把后面的小数位省去
     
    return 0;    
}

iii:嵌套的if else 且变量只有一个

#include <stdio.h>
int main(void)
{
      //嵌套的if else ,并且声明一个变量,一个变量就是利用表达式重新给这个变量赋值
      int x;
       
      scanf("%d", &x);
       
      if (x < 1)
         x = x;
      else
          if (x >= 1 && x < 10)
              x = 2*x - 1;
          else
              x = 3*x - 11;
       
      printf("%d", x);
       
      return 0;
  }

更多推荐

[编程入门]分段函数求值