C Primer Plus第八章課後答案

2021-10-11 18:53:30 字數 3172 閱讀 1541

其他章節答案

/*project 1*/

#includeint main(void)

/*project 2*/

#includeint main(void)

else

break;

}n++;

if(n == 10)

}return 0;

} 或者

#includeint main(void)

else

printf("%c %d,",ch,ch);

n++;

if(n == 10)

}return 0;

} /*project 3*/

#includeint main(void)

else if (ch >= 'a' && ch <= 'z')

}printf("大寫字母個數:%d\n小寫字母個數:%d",n,m);

return 0;

} 或者

#include#includeint main(void)

else if (islower(ch))

}printf("大寫字母個數:%d\n小寫字母個數:%d",n,m);

return 0;

} /*project 4*/

/*假設字母間均用空格隔開,標點符號後若有單詞則也加空格*/

#include#includeint main(void)

else if (ch == ' ')

}printf("平均每個字母的單詞數:%d\n",n/m);

return 0;

} /*project 5*/

#includeint main(void)

else if (response == 'l')

else

printf("sorry,i can't understand only y or u or l.\n");

while(getchar() != '\n')

continue;

}printf("i knew i could do it!\n");

return 0;

}/*project 6*/

#includechar get_first(void);

int main(void)

char get_first(void)

/*project 7*/

#include#define overtime 1.5

#define tax11 300

#define tax12 0.15

#define tax21 150

#define tax22 0.2

#define tax3 0.25

#define time 40

int main(void)

if(num != 'q')

switch(num)

if(time <= time)

else if(time > time)

printf("工資總額:%.2f$.\n稅金:%.2f$.\n淨收入:%.2f$.\n",pay,tax,pay - tax);

}else

printf("done!");

return 0;

}/*project 8*/

#includeint main(void)

switch(choice)

printf("enter second number: ");

while(scanf("%f",&second) != 1)

printf("%g + %g = %g\n",first,second,first+second); /*%g能自動選擇合適的格式輸出*/

break;

case 's':

printf("enter first number: ");

while(scanf("%f",&first) != 1)

printf("enter second number: ");

while(scanf("%f",&second) != 1)

printf("%g - %g = %g\n",first,second,first-second);

break;

case 'm':

printf("enter first number: ");

while(scanf("%f",&first) != 1)

printf("enter second number: ");

while(scanf("%f",&second) != 1)

printf("%g * %g = %g\n",first,second,first*second);

break;

case 'd':

printf("enter first number: ");

while(scanf("%f",&first) != 1)

printf("enter second number: ");

while((scanf("%f",&second) != 1))

const float epsinon = 0.000001;

/*由於浮點數的表示是不精確的,所以不能直接比較兩個數是否完全相等。

一般都是在允許的某個範圍內認為某個個浮點數相等

最好設定個變數0.000001再比較,直接比較容易出錯*/

while(( second >= -epsinon ) && ( second <= epsinon ))

printf("%g / %g = %g\n",first,second,first/second);

break;

default:

break;

}while(getchar() == eof)

break;

if (choice == 'q')

printf("enter the operation of you choice:\n");

printf("a) add \tb) subtract\n");

printf("c) multiply\td) divide\n");

printf("q) quit\n");

}return 0;

}

c primer Plus第八章筆記

該書應從8章之後開始學習 現在開始第8章 p199 字元輸入輸出 緩衝區 是乙個存放內容的臨時儲存區域 為什麼要設定緩衝區 一 將若干個字元作為乙個塊進行傳輸比逐個傳送這些字元耗時少。二 如果輸入了乙個錯的字元,可以用鍵盤的更正功能進行修改。當按下回車鍵的時候就傳送輸入的字元。但是,互動性的程式需要...

C primer plus 第八章(一)

a int a 10 b int ob a c int p a d int function int const int 問 是引用?取位址?答 b表示引用,即 ob是a的別稱,從此ob與a就綁在一起同生同變,簡直就是乙個人 c中 表示取位址 d中函式原型中的形參也是 引用 注意第二形參的 cons...

C Primer Plus 隨記(第八章)

1.建立引用變數 int rat int roatents rat 此式中 不是位址運算子,而是型別表示符,roatents是rat的別名,他們指向相同的值和記憶體單元,改變 roatents的值,rat也會變。roatents是乙個引用變數 int prats rat prat是指標 roaten...