C - primer - plus(第五版)课后编程练习答案(完整)(8)

2019-03-16 13:37

#include #include char get_first(void);

//b.加班

#define TIME 40 //加班(超过TIME小时) = #define ADD 1.5 //ADD倍的时间 //c.税率

#define LIMIT1 300 //前LIMIT1美元为RATE1 #define RATE1 0.15

#define LIMIT2 150 //下一个LIMIT2美元为RATE2 #define RATE2 0.20

#define RATE3 0.25 //余下的位RATE3

int main(void) {

double basic,hours,gross,tax;

printf(\ printf(\ printf(\ printf(\ switch( get_first() ) {

case '1': basic = 8.75; break; case '2': basic = 9.33; break; case '3': basic = 10.00; break; case '4': basic = 11.20; break;

default: printf(\退出程序 }

printf(\ printf(\ scanf(\

if (hours > 40) hours = 40 + (hours - 40) * 1.5; gross = hours * basic;

printf(\ if (gross <= LIMIT1) tax = gross * RATE1;

else if (gross <= LIMIT2) tax = LIMIT1 * RATE1 + (gross - LIMIT1) * RATE2; else tax = LIMIT1 * RATE1 + LIMIT2 * RATE2 + (gross - LIMIT1 - LIMIT2) * RATE3; printf(\

printf(\ return(0); }

char get_first(void) //得到字符串中的第一个非空字符 { int ch;

while( isspace( ch = getchar() ) ); while ( getchar() != '\\n'); return ch; }

8.编写一个程序,显示一个菜单,为您提供加法、减法、乘法或除法的选项。获得您的选择后,该程序请求两个数,然后执行您选择的操作。该程序应该只接受它所提供的菜单选项。它应该使用float类型的数,并且如果用户未能输入数字应允许其重新输入。在除法的情况中,如果用户输入O作为第二个数,该程序应该提示用户输入一个新的值。一个典型的程序运行应该如下所示:

Enter the operation of your choice: a. add s. subtract m. multiply d. divide q. quic

Enter first number: 22.4 Enter second number: one one is not an number.

Please enter a number, such as 2.5. -1.78E8, or 3. 1 22.4 + 1 = 23.4

Enter the operation of your choice: a. add s. subtract m. multiply d. divide q. quit

Enter first number: 18.4 Enter second number: O

Enter a number other than 0: 0.2 18.4 / 0.2 = 92

Enter the operation of your choice: a. add s. subtract m. multiply d. divide q. quit q Bye.

#include #include float get_float(void); char get_first(void);

int main(void)

{

char select; float num1,num2; while(1) {

printf(\ printf(\ printf(\ printf(\ select = get_first();

if( select != 'a' && select != 's' && select != 'm' && select != 'd') {

printf(\ break; }

printf(\ num1 = get_float();

printf(\ num2 = get_float();

while( select == 'd' && num2 == 0) {

printf(\ num2 = get_float(); }

switch(select) {

case 'a': printf(\ case 's': printf(\ case 'm': printf(\ case 'd': printf(\ default : break; } }

return(0); }

float get_float(void) //得到一个合适的浮点数,滤除非法数 {

float num; char str[40];

while(scanf(\ {

gets(str);

printf(\

printf(\ }

while ( getchar() != '\\n'); return num; }

char get_first(void) //得到字符串中的第一个字符,滤除其他字符 { int ch;

while( isspace( ch = getchar() ) ); while ( getchar() != '\\n'); return ch; }

第9章 函 数 编程练习

1.设计函数 min(x,y),返回两个double数值中较小的数值,同时用一个简单的驱动程序测试该函数。

#include

double min(double ,double );

int main(void) {

double x,y;

printf(\ scanf(\

printf(\ return(0); }

double min(double a,double b) {

return a

2.设计函数chline(ch, i, j),实现指定字符在i列到j列的输出,并用一个简单的驱动程序测试该函数。

#include

void chline(char , int , int );

int main(void) { int x,y; char ch;

printf(\ scanf(\

printf(\ scanf(\ chline(ch,x,y); return 0; }

void chline(char ch, int i, int j) { int k;

for(k=1; k

3.编写一个函数。函数的3个参数是一个字符和两个整数。字符参数是需要输出的字符。第一个整数说明了在每行中该字符输出的个数,而第二个整数指的是需要输出的行数。编写一个调用该函数的程序。

#include

void chline(char , int , int );

int main(void) { int x,y; char ch;

printf(\ scanf(\

printf(\ scanf(\ chline(ch,x,y); return 0;


C - primer - plus(第五版)课后编程练习答案(完整)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:圆圆圆教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: