//
// main.m
// C2_分支結構
//
// Created by李連有 on 14-10-16.
// Copyright (c) 2014年 lanou3g.com藍鷗科技. All rights reserved.
//
#import <Foundation/Foundation.h>
//enum job {
// ZHANSHI=11,
// Paladin,
// DeathKnight,
// LIEREN=21,
// SHAMAN,
// DAOZEI=31,
// DELUYI,
// WUSENG,
// FASHI=41,
// SHUSHI,
// MUSHI
// };
int main(int argc, const char * argv[]) {
//邏輯運算符
// int a=5;
//
// BOOL c=!a;
// printf("%d\n",c);// !取反;
// //短路現象
// &&-----假即假,
// ||------真即真;
// // If語句第一種形式
// // 小括號是條件表達式,表達式爲真,執行大括號語句;
// if (5>3)//注意不要使用; {
// printf("OK");
// }
// //練習1.
// //定義一個字符型變量
// char c=0;
// //輸入C的值
// scanf("%c",&c);
// //進行判斷,如果是m(將常量寫在==的前面,變量寫在==的後面)
// if ('m'==c) {
// //如果條件成立,則輸出男性
// printf("your are boy\n");
// } else {
// //If語句的第二種形式
//
// printf("女性");
// }
// //練習2.判斷閏年.
// int year = 0;
// BOOL condition1 = (0 == year % 400);
// BOOL condition2 = (0 ==year % 4 && year % 100 != 0);
// scanf("%d",&year);
// if (condition1 || condition2 ){
// printf("%d是閏年",year);
// } else {
// printf("%d是平年",year);
//
// }
// int year = 0;
// scanf("%d",&year);
// if (year % 400 == 0) {
// printf("閏年\n");
// } else if (year % 4 == 0 && year % 100 != 0){
// printf("閏年\n");
//
// } else {
// printf("不是閏年");
//
// }
// char a = 0;
// scanf("%c",&a);
// if (a >= 'A' && a <= 'Z') {
// printf("大寫字母\n");
// } else if (a >= 'a' && a <= 'z') {
// printf("小寫字母\n");
// } else if (a >= '0' && a <= '9') {
// //需要注意數字要加單引號
// printf("數字\n");
// } else {
// printf("其他字符\n");
// }
// //條件運算符
// int a = 0 , b = 0 , c = 0;
// int max;
// scanf("%d%d%d",&a,&b,&c);
// max = a > b ? a : b; //max = max == c ? max : c也對.
// max = max > c ? max : c;
// printf("%d\n",max);
// int a = 0 , b = 0 , c = 0;
// int min;
// scanf("%d%d%d",&a,&b,&c);
// min = a< b ? a : b;
// min = min < c ? min : c;
// printf("%d\n",min);
// //switch語句
// int number = 0;
// scanf("%d",&number);
// switch (number ) {
// case 110:
// printf("警察局\n");
// break;
// case 119:
// printf("消防隊\n");
// break;
// //break的作用,跳出switch語句
// //如果不加break,當選擇一個case後將不做任何判斷,直接執行下面的語句.
// case 120:
// printf("急救中心\n");
// break;
// //不滿足各個case時,執行default內的語句.
// default:
// printf("歡迎來到地球\n");
// break;
// }
// int number = 0;
// scanf("%d",&number);
// switch (number) {
// case ZHANSHI:
// printf("戰士\n");
// break;
// case Paladin:
// printf("聖騎\n");
// break;
// case DeathKnight:
// printf("死騎\n");
// break;
// case LIEREN:
// printf("獵人\n");
// break;
// case SHAMAN:
// printf("薩滿\n");
// break;
// case DAOZEI:
// printf("盜賊\n");
// break;
// case DELUYI:
// printf("德魯伊\n");
// break;
// case WUSENG:
// printf("武僧\n");
// break;
// case FASHI:
// printf("法師\n");
// break;
// case SHUSHI:
// printf("術士\n");
// break;
// case MUSHI:
// printf("牧師\n");
// break;
// default:
// printf("請認真重新輸入數字:\n");
// break;
// }
return 0;
}
1.(*)輸入一個整數,判斷奇偶,並輸出“某某是奇數”或者“某某是偶數”。
int num = 0;
scanf("%d",&num);
if (num % 2 == 1) {
printf("%d是奇數",num);
} else {
printf("%d是偶數",num);
}
2.(*)輸入一個數,判斷符號。如果大於0,輸出“正數”;如果小於0,輸出“負數”;如果等於0,輸出“0”。
int number = 0;
scanf("%d",&number);
if (number > 0) {
printf("正數");
}else if (number < 0){
printf("負數");
}else {
printf("0");
}
3.(***)輸入生日,輸出年齡(週歲)和星座。
今年是2014年
int year = 0;
int month = 0;
int day = 0;
scanf("%d-%d-%d",&year,&month,&day);
int age = 2014 - year;
printf("年齡是%d歲",age);
switch (month) {
case 1:
{
if (day <= 19){
printf("摩羯座");
}else{
printf("水瓶座");
}
}
break;
case 2:
{
if (day <= 18){
printf("水平座");
}else{
printf("雙魚座");
}
}
break;
case 3:
{
if (day <= 20){
printf("雙魚座");
}else{
printf("白羊座");
}
}
break;
case 4:
{
if (day <= 19){
printf("白羊座");
}else{
printf("金牛座");
}
}
break;
case 5:
{
if (day <= 20){
printf("金牛座");
}else{
printf("雙子座");
}
}
break;
case 6:
{
if (day <= 21){
printf("雙子座");
}else{
printf("巨蟹座");
}
}
break;
case 7:
{
if (day <= 22){
printf("巨蟹座");
}else{
printf("獅子座");
}
}
break;
case 8:
{
if (day <= 22){
printf("獅子座");
}else{
printf("處女座");
}
}
break;
case 9:
{
if (day <= 22){
printf("處女座");
}else{
printf("天平座");
}
}
break;
case 10:
{
if (day <= 23){
printf("天平座");
}else{
printf("天蠍座");
}
}
break;
case 11:
{
if (day <= 22){
printf("天蠍座");
}else{
printf("射手座");
}
}
break;
case 12:
{
if (day <= 21){
printf("射手座");
}else{
printf("摩羯座");
}
}
break;
default:
break;
}
白羊座 3.21-4.19
金牛座 4.20-5.20
雙子座 5.21-6.21
巨蟹座 6.22-7.22
獅子座 7.23-8.22
處女座 8.23-9.22
天平座 9.23-10.23
天蠍座 10.24-11.22
射手座 11.23-12.21
摩羯座 12.22-1.19
水瓶座 1.20-2.18
雙魚座 2.19-3.20
4.(**)編程判斷3人中誰的年齡最大,並打印最大者的年齡
int age1 = 0,age2 = 0,age3 = 0;
scanf("%d%d%d",&age1,&age2,&age3);
int max = 0;
max = age1 > age2 ? age1 : age2;
max = max > age3 ? max : age3;
printf("max = %d",max);
5.(**)鐵路托運行李規定:行李重不超過50公斤的,託運費按0.15元每公斤計算,如果超過50公斤,超出部分每公斤加收0.1元。編程實現上述功能
int weight = 0;
scanf("%d",&weight);
float money = 0;
if (weight > 50) {
money = (weight - 50) * (0.15 + 0.1) + 50 * 0.15;
}else {
money = weight * 0.15;
}
printf("money = %.2f",money);
6.(**)有一個函數:x<1的時候,y = x;1<=x<10的時候,y=2x-1;x>=10的時候,y=3x-11。寫一段程序,輸入x,輸出y值
int x = 0;
scanf("%d",&x);
int y = 0;
if (x < 1) {
y = x;
}else if (x >= 1 && x < 10){
y = 2 * x -1;
}else {
y = 3 * x - 11;
}
printf("y = %d",y);
7.(**)編制一個完成兩個數四則運算程序。如:用戶輸入34+56則輸出結果爲90.00,要求運算結果保留2位有效小數,用戶輸入時將2個運算數以及運算符都輸入,根據運算符求結果
int a = 0,b = 0;
char op = 0;
scanf("%d%c%d",&a,&op,&b);
float result = 0;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = 1.0 * a / b;
break;
default:
break;
}
printf("result = %.2f",result);
8.(***)輸入3個數,判斷是否能構成三角形
int a = 0,b = 0, c = 0;
scanf("%d%d%d",&a,&b,&c);
if (a + b >= c && a + c >= b && b + c >= a) {
printf("能構成三角形");
}else{
printf("不能構成三角形");
}
9.(****)輸入三個數,用兩種方法打印出中間值(即第二大值)
提示:第一種,先求最大最小;第二種,只使用比較運算符
方法一:先求最大最小
int a = 0,b = 0, c = 0;
scanf("%d%d%d",&a,&b,&c);
int max = 0,min = 0;
max = a > b ? a : b;
max = max > c ? max : c;
min = a < b ? a : b;
min = min < c ? min : c;
printf("%d",a + b + c - max - min);
方法二
int a = 0,b = 0, c = 0;
scanf("%d%d%d",&a,&b,&c);
if ((a >= b && a <= c) || (a >= c && a <= b)) {
printf("%d",a);
}
if ((b >= a && b <= c) || (b >= c && b <= a)) {
printf("%d",b);
}
if ((c >= a && c <= b) || (c >= b && c <= a)) {
printf("%d",c);
}