任务和代码:
/*
*Copyright (c)2017,CSDN学院
*All rights reserved.
*文件名称: main.c
*作 者: 伍志鹏
*完成日期: 2017年9月11日
*版本号: v1.0
*
*问题描述: 从键盘输入x的值(要求为整型),根据公式1计算并输出x和y的值。要求用switch语句完成。
*
* (x,x<2)
* y=(x*x+1, 2<=x<6)
* (sqrt(x+1),6<=x<10)
* (1/(x+1),x>=10)
*程序输出: y的值
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int x,y,t;
printf("请输入x的值:");
scanf("%d",&x);
t=(x<2)+(x<6)+(x<10);
if(x<0){
t=4;
}
switch(t)
{
case 1: //仅(x<10)为真时
y=sqrt(x+1);
break;
case 2: //(x<6) (x<10)为真时
y=x*x+1;
break;
case 3: //(x<2) (x<6)(x<10)全为真时
y=x;
break;
case 4: //当x<0时候,y的值也为0
y=0;
break;
default: //(x<2) (x<6)(x<10)没有一个为真时,即x>=10
y=1/(x+1);
}
printf("y的值是:%d\n",y);
return 0;
}
运行结果:
总结:
程序中使用了新的方法来进行运算,t是用来做为函数的该选择哪一个公式,而且t的值是对条件判断有比较好的用处;