好文档 - 专业文书写作范文服务资料分享网站

C primer plus课后编程练习答案

天下 分享 时间: 加入收藏 我要投稿 点赞

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) n\

printf(\ }

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

char get_first(void) 计函数 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; }

void chline(char ch, int column, int row) { int x,y;

for(y=0; y

for(x=0; x

4.两数值的谐均值可以这样计算:首先对两数值的倒数取平均值,最后再取倒数。编写一个带有两个double参数的函数,计算这两个参数的谐均值。

#include<>

double calculate(double ,double );

int main(void) {

double a,b;

printf(\ scanf(\

printf(\ return 0; }

double calculate(double x,double y) {

return 1/( (1/x+1/y) / 2 ); }

5.编写并测试函数larger_of(),其功能是将两个double类型变量的数值替换成它们中的较大值。例如,larger_of(x,y)会把x和y中的较大数值重新赋给变量x和y

#include<>

void large_of(double *,double *);

int main(void) {

double a,b;

printf(\ scanf(\ large_of(&a,&b);

printf(\ return 0; }

void large_of(double *x,double *y) {

*x = *y = *x>*y? *x:*y; }

6.编写一个程序,使其从标准输入读取字符,直到遇到文件结尾。对于每个字符,程序需要检查并报告该字符是否是一个字母。如果是的话,程序还应报告该字母在字母表中的数值位置。例如,c和C的字母位置都是3。可以先实现这样一个函数:接受一个字符参数,如果该字符为字母则返回该字母的数值位置,否则返回-1。

#include<> #include<> int ABC(char ch);

int main(void) { char ch;

printf(\ scanf(\

printf(\ return 0; }

int ABC(char ch) {

if(isalpha(ch)) return tolower(ch) - 'a' + 1 ; else return -1;

C primer plus课后编程练习答案

Entertheoperationofyourchoice:a.adds.subtractm.multiplyd.divideq.quitqBye.#include#includefloatget_float(void);charget_first(void);in
推荐度:
点击下载文档文档为doc格式
3ty247x5vm0a6ri16ozy38gut0xsx2013u8
领取福利

微信扫码领取福利

微信扫码分享