/*C Primer Plus (7.11) 3*/ 1 #include<stdio.h> 2 int main() 3 { 4 double weight,height; 5 printf("Please enter your weight and height.\n"); 6 printf(" ...
/*C Primer Plus (7.11) 3*/
1 #include<stdio.h> 2 int main() 3 { 4 double weight,height; 5 printf("Please enter your weight and height.\n"); 6 printf("Weight (pound):"); 7 scanf("%lf",&weight); 8 printf("Height (inch):"); 9 scanf("%lf",&height); 10 //加入建立比較友好的人機交互 11 if (weight < 100 && height > 64) 12 if (height >= 72) 13 printf("You are very tall for your weight.\n"); 14 else 15 printf("You are tall for your weight.\n"); 16 else if (weight > 300 && height < 48) 17 printf("You are quite short for your weight.\n"); 18 else 19 printf("Your weight is ideal.\n"); 20 //減少沒有用的if判斷條件 21 return 0; 22 } 23 /* 24 輸出樣例 25 26 Please enter your weight and height. 27 Weight (pound):99 28 Height (inch):65 29 You are tall for your weight. 30 31 Please enter your weight and height. 32 Weight (pound):98 33 Height (inch):72 34 You are very tall for your weight. 35 36 Please enter your weight and height. 37 Weight (pound):301 38 Height (inch):46 39 You are quite short for your weight. 40 41 Please enter your weight and height. 42 Weight (pound):200 43 Height (inch):50 44 Your weight is ideal. 45 46 */
/*C Primer Plus (7.11) 10*/
1 #include<stdio.h> 2 int main() 3 { 4 char ch; 5 6 while ((ch=getchar()) != '#') 7 { 8 if (ch != '\n') 9 { 10 printf("Step 1\n"); 11 if (ch == 'b') 12 break; 13 else if (ch !='c') 14 { 15 if (ch != 'h') 16 printf("Step 2\n"); 17 printf("Step 3\n"); 18 } 19 } 20 } 21 printf("Done.\n"); 22 return 0; 23 } 24 /* 25 輸出樣例 26 27 q 28 Step 1 29 Step 2 30 Step 3 31 c 32 Step 1 33 h 34 Step 1 35 Step 3 36 b 37 Step 1 38 Done. 39 40 */
/*C Primer Plus (7.12) 1*/
1 #include<stdio.h> 2 int main() 3 { 4 int space, linebreak, others; 5 int realothers = 0; 6 char ch; 7 space = linebreak = others = 0; 8 9 printf("Please enter some characters (# to quit).\n"); 10 while ((ch = getchar()) != '#') 11 { 12 if (ch == ' ' ? space++ : others++ && ch == '\n' ? linebreak++ : others++); 13 } 14 realothers = others / 2; 15 printf("These are the number of characters required for statistics.\n"); 16 printf("Space : %d" ,space); 17 printf("\nLinebreak : %d" ,linebreak); 18 printf("\nOthers: %d" ,realothers); 19 20 return 0; 21 } 22 /* 23 輸出樣例 24 25 Please enter some characters (# to quit). 26 Hello,My name is Coco. 27 Hello. My name is Mike !# 28 These are the number of characters required for statistics. 29 Space : 8 30 Linebreak : 1 31 Others: 38 32 33 */
/*C Primer Plus (7.12) 2*/
1 #include<stdio.h> 2 int main(void) 3 { 4 int i = 0; 5 char ch; 6 7 printf("Please enter some characters (# to quit):"); 8 while ((ch = getchar()) != '#') 9 { 10 if (i++ % 8 == 0) 11 { 12 putchar('\n'); //每輸出8個字元的信息就進行一次換行操作 13 } 14 if (ch == '\n') 15 { 16 printf("\'\\n\' -> %2d ",ch); 17 } 18 else if (ch == '\t') 19 { 20 printf("\'\\t\' -> %2d ",ch); 21 } 22 else 23 { 24 printf("\'%c\' -> %2d ",ch,ch); 25 } 26 } 27 printf("\nDone."); 28 29 return 0; 30 } 31 /* 32 輸出樣例 33 34 Please enter some characters (# to quit):KurokiTomoko# 35 36 'K' -> 75 'u' -> 117 'r' -> 114 'o' -> 111 'k' -> 107 'i' -> 105 'T' -> 84 'o' -> 111 37 'm' -> 109 'o' -> 111 'k' -> 107 'o' -> 111 38 Done. 39 40 */
/*C Primer Plus (7.12) 3*/
1 #include<stdio.h> 2 int main() 3 { 4 int num; 5 int even,odd; //偶數的個數,奇數的個數 6 int e_sum,o_sum; 7 double e_value,o_value; //偶數和的平均值,奇數和的平均值 8 even = odd = num = e_sum = o_sum = 0; 9 e_value = o_value =0.0; 10 printf("Please enter some integer numbers.\n"); 11 printf("The result your entered (0 to quit) : "); 12 while (scanf("%d",&num) == 1 && num) 13 { 14 (num % 2 == 0 ? (even++, e_sum += num) : (odd++, o_sum += num)); 15 printf("Now you can enter again (0 to quit) : "); 16 } 17 printf("There are %d even numbers.\n",even); 18 if (even > 0) 19 { 20 e_value = e_sum / (double)even; 21 printf("The average of even numbers is : %.3lf\n",e_value); 22 } 23 printf("There are %d odd numbers.\n",odd); 24 if (odd > 0) 25 { 26 o_value = o_sum / (double)odd; 27 printf("The average of odd numbers is : %.3lf",o_value); 28 } 29 printf("\nDone."); 30 return 0; 31 } 32 /* 33 輸出樣例 34 35 Please enter some integer numbers. 36 The result your entered (0 to quit) : 1 37 Now you can enter again (0 to quit) : 2 38 Now you can enter again (0 to quit) : 3 39 Now you can enter again (0 to quit) : 4 40 Now you can enter again (0 to quit) : 5 41 Now you can enter again (0 to quit) : 6 42 Now you can enter again (0 to quit) : 7 43 Now you can enter again (0 to quit) : 8 44 Now you can enter again (0 to quit) : 9 45 Now you can enter again (0 to quit) : 0 46 There are 4 even numbers. 47 The average of even numbers is : 5.000 48 There are 5 odd numbers. 49 The average of odd numbers is : 5.000 50 Done. 51 52 */
/*C Primer Plus (7.12) 4*/
1 #include<stdio.h> 2 int main() 3 { 4 char ch; 5 int count1 = 0; 6 int count2 = 0; 7 printf("Please enter the text you want (enter '#' to quit)."); 8 printf("\nNow please enter : "); 9 while ((ch = getchar()) != '#') 10 { 11 if (ch == '.') 12 { 13 putchar('!'); 14 count1++; 15 } 16 else if (ch == '!') 17 { 18 printf("!!"); 19 count2++; 20 } 21 else 22 { 23 putchar(ch); 24 } 25 } 26 printf("The number of times an exclamation mark " 27 "has been replaced with a period is : %d",count1); 28 printf("\nThe number of times an exclamation mark " 29 "is replaced by two exclamations is : %d",count2); 30 printf("\nDone."); 31 32 return 0; 33 } 34 /* 35 輸出樣例 36 37 Please enter the text you want (enter '#' to quit). 38 Now please enter : !!!!!..... 39 !!!!!!!!!!!!!!! 40 # 41 The number of times an exclamation mark has been replaced with a period is : 5 42 The number of times an exclamation mark is replaced by two exclamations is : 5 43 Done. 44 45 */
/*C Primer Plus (7.12) 5*/
#include<stdio.h> int main() { char ch; int count1 = 0; int count2 = 0; printf("Please enter the text you want (enter '#' to quit)."); printf("\nNow please enter : "); while ((ch = getchar()) != '#') { switch(ch) { case '.': { putchar('!'); count1++; break; } case '!': { printf("!!"); count2++; break; } default: { putchar(ch); } } } printf("The number of times an exclamation mark " "has been replaced with a period is : %d",count1); printf("\nThe number of times an exclamation mark " "is replaced by two exclamations is : %d",count2); printf("\nDone."); return 0; } /* 輸出樣例 Please enter the text you want (enter '#' to quit). Now please enter : Hello, This is Coconut ! Hello, This is Coconut !! My name is Coconut. My name is Coconut! # The number of times an exclamation mark has been replaced with a period is : 1 The number of times an exclamation mark is replaced by two exclamations is : 1 Done. */
/*C Primer Plus (7.12) 6*/
#include<stdio.h> int main() { int count = 0; char ch; char prev; //讀取的前一個字元 printf("Please enter some characters ('#' to quit):"); prev = '#'; //前一個字元為“#”的時候會停止(用於識別結束符號) while ((ch = getchar()) != '#') { if(prev == 'e' && ch == 'i') count++; prev = ch; } printf("There %d ei in this sentence.",count); return 0; } /* 輸出樣例 Please enter some characters ('#' to quit):Receive your eieio award.# There 3 ei in this sentence. */
/*C Primer Plus (7.12) 7*/
#include<stdio.h> #define BASIC_SALARY 10.00 #define EXTRA_WORK 1.5 #define NORMAL_TAX 0.15 #define EXTRA_TAX 0.20 #define OTHER_TAX 0.25 int main() { double worktime = 0.0; double salary,tax,netincome; salary = tax = netincome = 0.0; printf("Please enter your " "working hours in a week : "); while (scanf("%lf",&worktime) != 1 || worktime <= 0) { while (getchar() != '\n') continue; printf("Please enter a right number( >= 0 )."); } salary = worktime > 40 ? (40.00 * BASIC_SALARY) + (1.5 * (worktime - 40)) * BASIC_SALARY : worktime * BASIC_SALARY; if (salary <= 300) { tax = 300.00 * NORMAL_TAX; netincome = salary - tax; } else if (salary <= 450) { tax = 300.00 * NORMAL_TAX + (salary - 300.00) * EXTRA_TAX; netincome = salary - tax; } else { tax = 300.00 * NORMAL_TAX + 150.00 * EXTRA_TAX + (salary - 450.00) * OTHER_TAX; netincome = salary - tax; } printf("There is your salary, tax and net income information.\n"); printf("Salary : %.3lf",salary); printf("\nTax : %.3lf",tax); printf("\nNet income : %.3lf",netincome); return 0; } /* 輸出樣例 Please enter your working hours in a week : 300 There is your salary, tax and net income information. Salary : 4300.000 Tax : 1037.500 Net income : 3262.500 Please enter your working hours in a week : 450 There is your salary, tax and net income information. Salary : 6550.000 Tax : 1600.000 Net income : 4950.000 Please enter your working hours in a week : 521.73 There is your salary, tax and net income information. Salary : 7625.950 Tax : 1868.988 Net income : 5756.963 */
/*C Primer Plus (7.12) 8*/
#include<stdio.h> #include<stdbool.h> #define EXTRA_WORK 1.5 #define NORMAL_TAX 0.15 #define EXTRA_TAX 0.20 #define OTHER_TAX 0.25 void quit (); void menu (); void Salary (double Bsalary , double worktime); int choice = 0; double worktime = 0.0; int main() { while (true) { menu (); switch(choice) { case 1 : { Salary(8.75,worktime); break; } case 2 : { Salary(9.33,worktime); break; } case 3 : { Salary(10.00,worktime); break; } case 4 : { Salary(11.20,worktime); break; } case 5 : { quit(); printf("Done."); return 0; } } } } void quit() { printf("\t\t\n************************************************\t\t\n"); printf("|| ||"); printf("\n|| ||"); printf("\n|| Thank you to use this programme! ||"); printf("\n|| ||"); printf("\n|| ||"); printf("\t\t\n************************************************\t\t\n"); } void menu() { printf("\t\t\n*****************************************************************\t\t\n"); printf("Enter the number corresponding to the desired pay rate or action:\n"); printf("1) $8.75/hr 2) $9.33/hr"); printf("\n3) $10.00/hr 4) $11.20/hr\n"); printf("5) quit"); printf("\t\t\n*****************************************************************\t\t\n"); printf("Please enter your options: "); scanf("%d",&choice); while (choice != 1 && choice != 2 && choice != 3 && choice != 4 && choice != 5) { printf("Please enter the right choice:"); scanf("%d",&choice); } } void Salary(double Bsalary , double worktime) { double tax,netincome,salary; salary = tax = netincome = 0.0; printf("Please enter your working hours in a week : "); while (scanf("%lf",&worktime) != 1 || worktime <= 0) { while (getchar() != '\n') continue; printf("Please enter a right number( >= 0 ).