接上次写的前五章的答案,这次更新后面章节的
PS:目录在左边袄┗|`O′|┛ ~~

第六章

6.1

#include <stdio.h>
int main(void)
{char letters[26];int i;for(i=0;i<26;i++){letters[i]='a'+i;printf("%c ",letters[i]);}printf("\n");return 0;
} 

另一种(我觉得这种没有上面的代码好)

#include <stdio.h>
int main(void)
{char letters[26];char num_letters;int i;num_letters='a';for(i=0;i<26;i++){letters[i]=num_letters;num_letters=num_letters+1;printf("%c ",letters[i]);} return 0;
}

6.2

#include <stdio.h>
int main(void)
{int i,j;for(i=1;i<6;i++){for(j=1;j<i+1;j++)printf("$");printf("\n");}
} 

6.3

#include <stdio.h>
int main(void)
{int i,j;char c;for(i=1;i<7;i++){c='F';for(j=0;j<i;j++)printf("%c",c--);printf("\n");}return 0;
}

6.4

#include <stdio.h>
int main(void)
{int i,j;char c;c='A' ;for(i=0;i<6;i++){for(j=0;j<i+1;j++){printf("%c",c);c=c+1;} printf("\n");}return 0;
}

6.5

#include <stdio.h>
int main(void)
{int i,j,num;char c;printf("Please enter a letter:\n");scanf("%c",&c);num=c-65;for(i=0;i<num+1;i++){for(j=0;j<num-i;j++){printf(" ");} c='A'; for(j=0;j<i+1;j++){printf("%c",c++);} c=c-1;for(j=0;j<i;j++){printf("%c",--c);} printf("\n");}return 0;
}

6.6

#include <stdio.h>
int main(void)
{int num,low,hig;long square,cube;printf("Please enter the low number\n");scanf("%d",&low);printf("Now,please enter the higher number:\n");scanf("%d",&hig);if(low>hig)printf("Oh!Shit,mather f**k,you can't enter those number!");else{printf("  integer   square     cube\n");for(;low<=hig;low++)printf("%9d%9d%9d\n",low,low*low,low*low*low);}return 0;
}

6.7

#include <stdio.h>
#include <string.h>
int main(void)
{char word[20];int num;printf("Please enter a word:\n");scanf("%s",word);for(num=strlen(word)-1;num>=0;num--) printf("%c",word[num]);return 0;
}

6.8

#include <stdio.h>
int main(void)
{int jud;float num1,num2,ans;printf("please enter two numbers:\n");jud=scanf("%f %f",&num1,&num2);while(jud){printf("(%f-%f)/(%f*%f)=%f\n",num1,num2,num1,num2,(num1-num2)/(num1*num2));printf("please enter two numbers:(q to quit)\n");jud=scanf("%f %f",&num1,&num2);}return 0;
}

6.9

#include <stdio.h>
float fun(float a,float b);
int main(void)
{float num1,num2;printf("Please enter two numbers:\n");while(scanf("%f %f",&num1,&num2)){printf("%f\n",fun(num1,num2));printf("Please enter two numbers:(q to quit)\n");}return 0;
}
float fun(float a,float b)
{float ans;ans=(a-b)/(a*b);return ans;
}

6.10

#include <stdio.h>
int main(void)
{int low,upp;int low1;unsigned long s_sum=0;printf("Enter lower and upper integer limits:");scanf("%d %d",&low,&upp);if(low>=upp);else{low1=low;for(;low<=upp;low++)s_sum+=(low*low);printf("The sums of the squares from %d to %d is %ld\n",low1*low1,upp*upp,s_sum);printf("Enter next set of limits:");scanf("%d %d",&low,&upp);while(low<upp){s_sum=0;low1=low;for(;low<=upp;low++)s_sum+=(low*low);printf("The sums of the squares from %d to %d is %ld\n",low1*low1,upp*upp,s_sum);printf("Enter next set of limits:");scanf("%d %d",&low,&upp);}}return 0;
}

6.11

#include <stdio.h>
int main(void)
{int i,num[8];for(i=0;i<8;i++){printf("please enter a num:");scanf("%d",&num[i]);}for(;i>0;i--)printf("%d ",num[i-1]);return 0;
}

6.12.1

#include <stdio.h>
int main(void)
{int num,i;float sum=0;printf("please enter a num:");scanf("%d",&num);for(i=1;i<=num;i++){sum+=(float)1/i;}printf("ans=%f",sum);return 0;
}

6.12.2

#include <stdio.h>
int main(void)
{int num,i,j;float sum=0;printf("please enter a num:");scanf("%d",&num);for(i=1,j=-1;i<=num;i++){j=-j;sum+=(float)j/i;}printf("ans=%f",sum);return 0;
}

6.13

#include <stdio.h>
int fun(int a);
int main(void)
{int i,num[8];for (i=0;i<8;i++){printf("Please enter a num:");scanf("%d",&num[i]);}i=0;do {printf("%ld ",fun(num[i++]));}while(i<8)return 0;
}
int fun(int a)
{unsigned mult=2;for(;a>1;a--)mult*=2;return mult;
}

6.14

#include <stdio.h>
int main(void)
{double num1[8],num2[8];int i;for(i=0;i<8;i++){printf("Please enter a num:");scanf("%lf",&num1[i]);}for(i=0;i<8;i++){printf("%f ",num1[i]);}num2[0]=num1[0];printf("\n%f\n",num2[0]);for(i=1;i<8;i++){num2[i]=num2[i-1]+num1[i];printf("%f\n",num2[i]);}return 0;
}

6.15

#include <stdio.h>
int main(void)
{char ch,c[255];int i=0;printf("please enter something:\n");ch=getchar();while(ch!='\n'){c[i]=ch;ch=getchar();i++;}while(i-->=1){printf("%c",c[i]);}return 0;
}

6.16

#include <stdio.h>
#define fuli 1.05
int main(void)
{float fina1=100.0,fina2=100.0;int i=0;do {fina1+=10;fina2*=fuli;i++;}while(fina2<fina1);printf("%d",i);return 0;
}

6.17

#include <stdio.h>
#define rate 1.08
int main(void)
{int i=0;float fina=100.0;do {fina=fina*rate-10;i++;}while(fina>=0);printf("%d",i);
}

6.18

#include <stdio.h>
int main(void)
{int fnum=5,i=1;while(fnum<=150){fnum=2*(fnum-(i++));}printf("%d",i);
}

第七章

7.1

#include <stdio.h>
#include <ctype.h>
int main(void)
{char ch;int num1,num2,num3;num1=num2=num3=0;printf("please enter something:\n");while((ch=getchar())!='#'){if(ch==' '){num1++;}else{if(ch=='\n')num2++;elsenum3++;}}printf("space:%d\n",num1);printf("return:%d\n",num2);printf("others:%d\n",num3);return 0;
}

7.2

#include <stdio.h>
int main(void)
{const int n=8;int ch=0,i=0;while((ch=getchar())!='#'){printf("%c-%d ",ch,ch);i++;if((i%n)==0)printf("\n");}return 0;
}

7.3

#include <stdio.h>
int main(void)
{int i=0,j=0,num;float sum1,sum2;sum1=sum2=0;printf("Please enter some number,0 to quit\n");while(scanf("%d",&num)==1&&num!=0){if(num%2==0){i++;sum1+=num;}else{j++;sum2+=num;}}printf("奇数的个数:%d\n",j);printf("奇数的平均值:%.2f\n",sum2);printf("偶数的个数:%d\n",i);printf("偶数的平均值:%.2f\n",sum1);
}

7.4

#include <stdio.h>
int main(void)
{char ch;int i;while((ch=getchar())!='#'){if(ch=='.'){printf("!");}else{if(ch=='!'){printf("!!");}else{putchar(ch);}}}return 0;
}

7.5

#include <stdio.h>
int main(void)
{char ch;while((ch=getchar())!='#'){switch(ch){case '.':printf("!");break;case '!':printf("!!");break;default:putchar(ch);}}return 0;
}

7.6

#include <stdio.h>
int main(void)
{char ch;int i=0;printf("please enter something(# to quit):\n");while((ch=getchar())!='#'){if(ch='e'){ch=getchar();if(ch='i'){i++;}}}printf("%d",i);return 0;
}

7.7

#include <stdio.h>
#define LIM1 300
#define LIM2 150
#define SALA 10.0
int main(void)
{float hours,salary,tax;printf("Please enter you work hours per week:\n");scanf("%f",&hours);if(hours>40){hours=(hours-40)*1.5+40;}salary=hours*SALA;if(salary>LIM1){if(salary>LIM1+LIM2){tax=(salary-LIM1-LIM2)*0.25+75;}else{tax=(salary-LIM1)*0.2+45;}}else{tax=salary*0.15;}printf("The sum of salary is %.1f,tax is %.1f,available is %.1f",salary,tax,salary-tax);
}

7.8

#include <stdio.h>
#define ONE 8.75
#define TWO 9.33
#define THREE 10.00
#define FOUR 11.20
#define LIM1 300
#define LIM2 150
int main(void)
{int i,num,jud;float SALA,salary,tax,hours; for(i=0;i<61;i++)printf("*");printf("\n\nEnter the number corresponding to desired pay rate or action:\n");printf("1) $%.2f/hr                       2) $%.2f/hr\n",ONE,TWO);    printf("3) $%.2f/hr                      4) $%.2f/hr\n",THREE,FOUR); printf("5) quit\n");for(i=0;i<61;i++)printf("*");printf("\n");scanf("%d",&num);while(num!=5){switch(num){case 1:SALA=ONE;break;case 2:SALA=TWO;break;case 3:SALA=THREE;break;case 4:SALA=FOUR;break;default :printf("Please enter 1-5 numbers thank u!!!\n");}if(num==1||num==2||num==3||num==4){printf("Please enter you work hours per week:\n");scanf("%f",&hours);if(hours>40){hours=(hours-40)*1.5+40;}salary=hours*SALA;if(salary>LIM1){if(salary>LIM1+LIM2){tax=(salary-LIM1-LIM2)*0.25+75;}else{tax=(salary-LIM1)*0.2+45;}}else{tax=salary*0.15;}printf("The sum of salary is %.1f,tax is %.1f,available is %.1f",salary,tax,salary-tax);}printf("\nplease enter the number corresponding to desired pay rate or action:\n");scanf("%d",&num);}return 0;
}

7.9

#include <stdio.h>
#include <math.h>
int sushu(int x);
int main(void)
{int x,y,i;printf("Please enter a number you want(positive number):");scanf("%d",&x);for(i=2;i<=x;i++){if(sushu(i)){printf("%d ",i);}}return 0;
}
int sushu(int x)
{int i,n=1;double half;half=sqrt(x);for(i=2;i<=half;i++){if(x%i!=0){continue;}else{n=0;break;}}return n;
}

7.10

#include <stdio.h>
#define ONE 17850
#define TWO 23900
#define THREE 29750
#define FOUR 14875
#define RATE1 0.15
#define RATE2 0.28
float fun(float a);
int main(void)
{float salary,level=0,r_salary;int i,num; for(i=0;i<50;i++)printf("*");printf("\n\n");printf("1) 单身                            2) 户主\n",ONE,TWO); printf("3) 已婚,共有                      4) 已婚,离异\n",THREE,FOUR);  printf("5) 退出\n");for(i=0;i<50;i++)printf("*");printf("\n\n");printf("请选择您的类别:");scanf("%d",&num);while(num!=5){switch(num){case 1:level=ONE;break;case 2:level=TWO;break;case 3:level=THREE;break;case 4:level=FOUR;break;default:printf("请输入1~5的数字,靴靴\n");break; }fun(level);printf("请选择您的类别:");scanf("%d",&num);level=0;} printf("Bye哟\n"); return 0;
}
float fun(float level)
{float salary,tax;if(level){printf("请把你的收入输入一下靴靴:");scanf("%f",&salary);if(salary>level){tax=level*RATE1;tax=(salary-level)*RATE2+tax;}else{tax=salary*RATE1;}printf("所以你需要缴纳的税金是:%.1f$\n",tax);}
}

7.11

#include <stdio.h>
#define A 2.05
#define B 1.15
#define C 1.09
#define LIM1 5
#define LIM2 20
#define FEE1 6.5
#define FEE2 14
#define DISCOUNT 0.95
void fun(int a,int b,int c);
int main(void)
{int i,weight,a,b,c,d,e,f; char ch;a=b=c=d=e=f=0;for(i=0;i<70;i++)printf("*");printf("\n"); printf("                         ABC邮购杂货店\n");printf("a) 洋蓟   $%.2f每磅                      b) 甜菜   $%.2f每磅\n",A,B);    printf("c) 胡萝卜 $%.2f每磅                      d) 邮费、包装费及折扣详情\n",C);  printf("e) 结账付款                              f) 溜了溜了,买不起买不起\n"); for(i=0;i<70;i++)printf("*");printf("\na、b、c可以反复添加\n请输入相关选项:");while((ch=getchar())!='e'){switch(ch){case 'a':if(d==0){printf("请问您想要购买多少磅的洋蓟呢?");scanf("%d",&weight);a=weight;d++;}else{printf("请问您还想要再添加多少磅洋蓟呢?");scanf("%d",&weight);a+=weight;}printf("请继续输入:") ;break; case 'b':if(e==0){printf("请问您想要购买多少磅甜菜呢?");scanf("%d",&weight);b=weight;e++;}else{printf("请问您还想要再添加多少磅甜菜呢?");scanf("%d",&weight);b+=weight;}printf("请继续输入:") ;break;                  case 'c':if(f==0){printf("请问您想要购买多少磅胡萝卜呢?");scanf("%d",&weight);c=weight;f++;}else{printf("请问您还想要再添加多少磅胡萝卜呢?");scanf("%d",&weight);c+=weight;}printf("请继续输入:") ;break;case 'd':printf("总订单少于或等于5磅收取6.5美元的运费和包装费。\n");printf("总订单在5-20磅收取14美元的运费和包装费。\n");printf("总订单超过20磅在14美元的基础上运费和包装费续重0.5美元每磅。\n");printf("当订单超过100美元将享受95%的折扣\n") ; printf("您还可以继续输入:") ;break;case 'f':printf("逗你玩呢,本店强制购买谢谢合作。请继续输入:") ;break;default:printf("输入错误,请重新输入:");break;              }getchar();} printf("您现在的购物车里一共有%d磅的洋蓟,%d磅甜菜,%d磅胡萝卜\n\n\n",a,b,c);fun(a,b,c);return 0;
} void fun(int a,int b,int c)
{float price,delivery;price=a*A+b*B+c*C;printf("商品的总价是%.1f\n",price);if(price>=100){price*=DISCOUNT;printf("   您的订单超过了100美元,您折后的总价是%.1f",price);} if(a+b+c>=LIM1){if(a+b+c>=LIM2){delivery=FEE2+(a+b+c-LIM2);}else{delivery=FEE2;}}else{delivery=FEE1;}printf("您需要支付的运费和包装费为:%.1f\n",delivery);
}

第十章

10.1

#include <stdio.h>
#define MONTHS 12    //一年的月份数
#define YEARS  5     //年数
int main(void)
{//用2010-2014年的降水量数据初始化数组const float rain[YEARS][MONTHS] ={{ 4.3f, 4.3f, 4.3f, 3.0f, 2.0f, 1.2f, 0.2f, 0.2f, 0.4f, 2.4f, 3.5f, 6.6f },{ 8.5f, 8.2f, 1.2f, 1.6f, 2.4f, 0.0f, 5.2f, 0.9f, 0.3f, 0.9f, 1.4f, 7.3f },{ 9.1f, 8.5f, 6.7f, 4.3f, 2.1f, 0.8f, 0.2f, 0.2f, 1.1f, 2.3f, 6.1f, 8.4f },{ 7.2f, 9.9f, 8.4f, 3.3f, 1.2f, 0.8f, 0.4f, 0.0f, 0.6f, 1.7f, 4.3f, 6.2f },{ 7.6f, 5.6f, 3.8f, 2.8f, 3.8f, 0.2f, 0.0f, 0.0f, 0.0f, 1.3f, 2.6f, 5.2f }};int year, month;float subtot, total;const float (*pt)[12];pt = rain;printf(" YEAR      RAINFALL  (inches)\n");for (year = 0, total = 0; year < YEARS; year++){for (month = 0, subtot = 0; month < MONTHS; month++)subtot += *(*(pt + year) + month);printf("%5d %15.1f\n", 2010 + year, subtot);total += subtot;}printf("\nThe yearly average is %.1f inches.\n\n", total / YEARS);printf("MONTHLY AVERAGES:\n\n");printf(" Jan  Feb  Mar  Apr  May  Jun  Jui  Aug  Swp  Oct ");printf(" Nov  Dec\n");for (month = 0; month < MONTHS; month++){for (year = 0, subtot = 0; year < YEARS; year++)subtot += *(*(pt + year) + month);printf("%4.1f ", subtot / YEARS);}printf("\n\n");return 0;
}

10.2

#include <stdio.h>
#define SIZE 5
void copy_arr(double target[], double source[], int num);
void copy_ptr(double * target, double * source, int num);
void copy_ptrs(double * target, double * source0, double * source1);
void print_array(double arr[], int num);
int main(void)
{double source[SIZE] = { 1.1, 2.2, 3.3, 4.4, 5.5 };double target1[SIZE];double target2[SIZE];double target3[SIZE];copy_arr(target1, source, SIZE);copy_ptr(target2, source, SIZE);copy_ptrs(target3, source, source + SIZE);print_array(target1,SIZE);print_array(target2,SIZE);print_array(target3,SIZE);return 0;
}
void copy_arr(double target[], double source[], int num)
{int i;for (i = 0; i < num; i++){target[i] = source[i];}
}
void copy_ptr(double * target, double * source, int num)
{int i;for (i = 0; i < num; i++){*(target++) = *(source++);}
}
void copy_ptrs(double * target, double * source0, double * source1)
{int i;for (i=0;source0<source1;i++){*(target++) = *(source0++);}
}
void print_array(double arr[], int num)
{int i;for (i = 0; i < num; i ++ ){printf("  %1.1f", arr[i]);}printf("\n");
}

C Primer Plus 第六版 章节课后编程练习答案(下)(缘更)相关推荐

  1. C ++ Primer Plus 第六版 第九章编程练习答案

    2.修改程序清单9.9,用string对象代替字符数组.这样,该程序将不再需要检查输入的字符串是否过长,同时可以将输入字符串同字符串""进行比较,以判断是否为空行. #includ ...

  2. C++ Primer Plus 第六版第二章编程练习答案

    1.编写一个c++程序,它显示您的姓名和地址. #include<iostream> int main() {using namespace std;cout << " ...

  3. C++ Primer Plus(第6版)Chapter 4 编程题答案

    C++ Primer Plus(第6版)Chapter 4 编程题答案 第1题: // task 1 #include <iostream> #include <string> ...

  4. C++ Primer Plus 第六版 所有章节课后编程练习答案

    我的独立博客地址:www.blog4jimmy.com,欢迎大家关注 下面的是C++ Primer Plus 第六版所有章节的课后编程练习的答案,都是博主自己写的,有不对的地方请大家留言指出讨论讨论 ...

  5. 《c primer plus》第六版|第二章|编程练习答案

    2.12 6. 编写一个程序,创建一个整型变量toes,并将toes设置为10. 程序中还要计算toes的两倍和toes的平方.该程序应打印3个值,并分别描述以示区分 #include<stdi ...

  6. C Primer Plus第六版(中文版)编程练习答案(完美修订版)汇总

    //本文是博主编写的C Primer Plus第六版(中文版)编程练习答案的所有链接; //使用超链接汇总于此,若是有用请点赞收藏并分享给他人; C Primer Plus 第六版(中文版)第二章(完 ...

  7. C++程序设计 (自考课程代码4737)课后编程题答案

    C++程序设计 (2008版 主编刘振安) 课后编程练习题 自考课程代码4737 所有章节课后编程练习答案(本人手打,仅供参考,如有不足请见谅) 目录(源码在github上,点开超链接就能看到): 第 ...

  8. 深夜里学妹竟然问我会不会C?我直接把这篇文章甩她脸上(C Primer Plus 第六版基础整合)

    C Primer Plus 第六版 前言 第一章 初识C语言 一.C语言的起源 二.C语言的应用 三.C语言的特点 四.编译的过程 五.编码机制 1.简述 2.完成机制 六.在UNIX系统上使用C 七 ...

  9. C++ Primer Plus第六版第六章编程练习 第4题, 加入Benevolent Order of Programmer后,在BOP大会上

    /*************************************************************************************************** ...

最新文章

  1. 代码规范之华为公司代码规范
  2. linux怎么编译并安装busybox,linux下安装busybox
  3. 51单片机的中断系统
  4. 毕业一两年,怎样快速成长和晋升?
  5. Autowired注解
  6. Yam Finance提案建议将YAM DAO资金库中dApp挖矿奖励的80%转移到uGAS流动性挖矿
  7. Spring Boot整合Swagger3配置全局Token
  8. video上传架构设计与实现
  9. 记录神通数据库2022安装
  10. 读《Android开发艺术探索》后的面试题整理
  11. android app icon素材,史上最全的APP图标模板素材以及设计格式最全的
  12. 北京理工计算机实验二报告,北京理工大学实验二实验报告表
  13. openalyers 好玩的效果之蒙版图层
  14. Cisco switch spanning-tree priority 0
  15. SLCP验厂辅导,SLCP是向最终用户分享已验证的评估数据的关键
  16. 如何用input函数一次输入多个值
  17. 磁盘配额管理disk quotas
  18. 量化投资中常遇到的两个问题
  19. Chrome不能拖拽安装插件
  20. [入门教程]详细讲解STM32控制LED点阵屏(HUB75接口)

热门文章

  1. 台达ES2与台达温控器ASCII通讯程序 可以实现温控器运行,停止。 目标值设定,警报上下限的设定
  2. 主流人工智能平台的设计和思考
  3. SQL 计算每个月的工作天数
  4. ORACLE 授权 新增 修改 删除 注释 重命名 表字段 表
  5. UDE(Universal Debug Engine) - 程序烧录
  6. 使用visual studio code调试单个js文件
  7. python下载网易云MV
  8. [Xcode 实际操作]九、实用进阶-(24)使用Segue(页面的跳转连接)进行页面跳转并传递参数...
  9. 为什么我们依然觉得AI换脸很“假”?
  10. python数据分析与挖掘实战 之笔记2