任務和代碼:
/*
*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的值是對條件判斷有比較好的用處;