编译环境VS Code+WSL GCC 源码请到文末下载 。
注意:本章部分题目中用到了math.h 用gcc编译时加上-lm参数。

/*第1题*************************/
#include<stdio.h>
int main(void)
{
int i;
char char_arry[26]={0};
for(i=0;i<26;i++)
{
char_arry[i]='a'+i;
}
for(i=0;i<26;i++)
{
printf("%c ",char_arry[i]);
}
putchar(10);
}
/*第2题*************************/
#include<stdio.h>
int main()
{
int i,j;
for (i = 0; i < 5; i++)
{
for(j = 0; j < i+1 ;j++)
putchar('$');
putchar('\n');
} return 0;
}
/*第3题*************************/
#include<stdio.h>
int main()
{
int i,j;
for (i = 0; i < 6; i++){
for(j = 0;j <= i;j++)
printf("%c",'F'-j);
putchar(10);
}
return 0;
}
/*第4题*************************/
#include<stdio.h>
int main()
{
char start = 'A';
int i,j;
for(i=0;i<6;i++){
for(j=0;j<=i;j++){
printf("%c",start);
start++;
}
putchar(10);
}
return 0;
}
/*第5题*************************/
#include<stdio.h>
int main()
{
char a,tmp;
int i,j;
printf("请输入一个大写字母:");
tmp=a=getchar();
for(i=5;i>0;i--){
for(j=i-1;j>0;j--)
putchar(' '); for(j=6-i;j>0;j--)
printf("%c",a++);
a--; for(j=5-i;j>0;j--)
printf("%c",--a); putchar('\n');
a=tmp;
}
return 0;
}
/*第6题*************************/
#include<stdio.h>
int main()
{
int input;
printf("请输入表格的行数:");
scanf("%d",&input);
printf("-------------------\n");
for(;input>0;input--){
printf("| %3d | %3d | %3d |\n",input,input*input,input*input*input);
printf("-------------------\n");
}
return 0;
}
/*第7题*************************/
#include<stdio.h>
#include<string.h>
int main()
{
char arry[100]={0};
int lenth,i;
printf("请输入一些字符:");
scanf("%s",arry);
lenth = strlen(arry);
printf("逆序打印这些字符:");
for(i= --lenth;i>=0;i--)
{
putchar(arry[i]);
}
putchar(10);
return 0;
}
/*第8题*************************/
#include<stdio.h>
int main()
{
float input_1,input_2,res;
printf("请输入两个数(输入非数字退出):");
while (scanf("%f %f",&input_1,&input_2)==2)
{
if(input_1>input_2){
res = (input_1 - input_2) / (input_1 * input_2);
}
else if(input_1<input_2)
{
res = (input_2 - input_1) / (input_2 * input_1);
}
else
{
res = 0;
}
printf("%g %g %g\n",input_1,input_2,res);
} }
/*第9题*************************/
#include<stdio.h> float func(double input_1,double input_2); int main()
{
float input_1,input_2,res;
printf("请输入两个数(输入非数字退出):");
while (scanf("%f %f",&input_1,&input_2)==2)
{
res = func(input_1,input_2);
printf("%g %g %g\n",input_1,input_2,res);
} } float func(double input_1,double input_2)
{
double res;
if(input_1>input_2){
res = (input_1 - input_2) / (input_1 * input_2);
}
else if(input_1<input_2)
{
res = (input_2 - input_1) / (input_2 * input_1);
}
else
{
res = 0;
}
return res;
}
/*第10题*************************/
#include<stdio.h>
#include<string.h>
int main()
{
int input_1,input_2,res,i;
char tmp;
printf("请输入一个下限整数和一个上限整数(输入相同的数退出程序):");
while (1)
{
if(scanf("%d %d",&input_1,&input_2)!=2){ do{tmp =getchar();}
while(tmp != '\n');
//while(tmp>='0'&&tmp<='9');//有个BUG,在输入N个非数字字符就会输出N个错误提示。
printf("输入错误,请重新输入:");
continue;
}
else if(input_1 > input_2){
printf("输入错误,请重新输入:");
continue;
}
else if(input_1 == input_2){
printf("程序退出...\n");
break;
}
for(i=input_1;i<=input_2;i++)
res += i*i; printf("两个数的平方从%d到%d的和是%d\n",input_1*input_1,input_2*input_2,res);
printf("请输入一个下限整数和一个上限整数(输入相同的数退出程序):");
} }
/*第11题*************************/
#include<stdio.h>
int main()
{
int arry[]={1,2,3,4,5,6,7,8};
int i;
for(i=7;i>=0;i--){
printf("%d",arry[i]);
}
putchar(10);
return 0;
}
/*第12题*************************/
#include<stdio.h> double arr_add_fun(int len);
double arr_add_fun_(int len); int main()
{
int arr_len;
double res;
while (1)
{
printf("请输入次数(输入负数或0退出):");
scanf("%d",&arr_len);
if (arr_len > 0)
{
res = arr_add_fun(arr_len)+arr_add_fun_(arr_len);
printf("%d项的和是%g\n",arr_len,res);
}
else
{
printf("程序退出...\n");
break;
}
} return 0;
} double arr_add_fun(int len)
{
double res = 0,cnt = 1.0;
int i;
for(i=1;i<=len;i++)
{
res += 1.0 / cnt++;
}
return res;
}
double arr_add_fun_(int len)
{
double res = 0,cnt = 1.0;
int i;
for(i=1;i<=len;i++)
{
if(i%2 == 0){
res -= 1.0 / cnt++;
}
else
{
res += 1.0 / cnt++;
}
}
return res;
}
/*第13题*************************/
#include<stdio.h>
#include<math.h>
/************************************/
/* 请添加-lm参数,例如:gcc 13.c -lm */
/************************************/
int main()
{
int i,res;
int arry[8],*p=arry;
for(i=0;i<8;i++){
arry[i]=pow(2,i);
}
i=0;
do{
printf("%d ",arry[i++]);
}
while (i<8);
putchar(10);
return 0;
} /*第14题*************************/
#include<stdio.h>
int main()
{
double num_arr[8],num_arr_[8];
int i;
printf("请输入8个数(按Enter键入)\n");
for(i=0;i<8;i++){
printf("请输入第%d个数:",i+1);
scanf("%lf",&num_arr[i]);
}
num_arr_[0]=num_arr[0];
for(i=1;i<8;i++)
num_arr_[i]=num_arr[i]+num_arr_[i-1];
for(i=0;i<8;i++)
printf("%-3g ",num_arr[i]);
putchar(10);
for(i=0;i<8;i++)
printf("%-3g ",num_arr_[i]);
putchar(10);
return 0;
}
/*第15题*************************/
#include<stdio.h>
int main()
{
char arry[255]={0};
char rec,i=0;
printf("请输入一些字符:");
do{
scanf("%c",&rec);
arry[i]=rec;
i++;
}
while (rec != '\n');
arry[i]='\0';
for(i--;i>=0;i--)
{
printf("%c",arry[i]);
}
putchar(10);
return 0;
}
/*第16题*************************/
#include<stdio.h>
int main()
{
int year=0;
double daphne=100,deirdre=100;
do{
year++;
daphne += 100 * 0.1;
deirdre *= 1.05;
}
while (deirdre <= daphne);
printf("需要%d年deirdre会超过daphne。\n",year);
printf("deirdre能拿到%g dollars\ndaphne能拿到%g dollars\n",deirdre,daphne);
return 0;
}
/*第17题*************************/
#include<stdio.h>
int main()
{
int year = 1;
double dollar=1000000;
do{
year++;
dollar += dollar * 0.08;
dollar -= 100000;
}
while (dollar > 100000);
printf("需要%d年。\n",year);
return 0;
}
/*第18题*************************/
#include<stdio.h>
int main()
{
int frieds = 5,week = 1;
while (frieds <= 150){
frieds -= week;
frieds *= 2;
if(frieds > 150)
break;
printf("第%d周有%d个朋友。\n",week,frieds);
week++;
} return 0;
}

C Primer Plus 第6版 第六章 编程练习参考答案的更多相关文章

  1. 《C++ Primer》 第四版 第7章 函数

    <C++ Primer> 第四版 第7章 函数 思维导图笔记 超级具体.很具体,图片版,有利于复习查看 http://download.csdn.net/detail/onlyshi/94 ...

  2. c primer plus(五版)编程练习-第六章编程练习

    1.编写一个程序,创建一个具有26 个元素的数组,并在其中存储26 个小写字母.并让该程序显示该数组的内容. #include<stdio.h> #define SIZE 26 int m ...

  3. C primer plus 第五版十二章习题

    看完C prime plus(第五版)第十二章,随带完成了后面的习题. 1.不使用全局变量,重写程序清单12.4的程序. 先贴出12.4的程序,方便对照: /* global.c --- 使用外部变量 ...

  4. 读Javascript高级程序设计第三版第六章面向对象设计--创建对象

    虽然Object构造函数或者对象字面量都可以用来创建单个对象,但是缺点非常明显:使用同一接口创建很多对象,会产生大量重复代码. 工厂模式  1 function CreatePerson(name,a ...

  5. java编程思想第四版第六章习题

    (略) (略) 创建两个包:debug和debugoff,他们都包含一个相同的类,该类有一个debug()方法,第一个版本显示发送给控制台的String参数,而第二版本什么也不做,使用静态import ...

  6. java编程思想 第四版 第六章 个人练习

    欢迎加群:239063848 进群须知:本群仅用于技术分享与交流.问题公布与解答 禁止闲聊.非诚勿扰 练习1:(1)在某个包中创建一个类,在这个类所处的包的外部创建该类的一个实例. import mi ...

  7. c++primer 第l六章编程练习答案

    6.11.1 #include<iostream> #include<cctype> int main() { using namespace std; char ch; ci ...

  8. sprinng in action 第四版第六章中的ValidationMessages.properties不起作用

    文件名必须是ValidationMessages.properties,必须放在类的根目录下

  9. java编程思想第四版第六章总结

    1. 代码重构 为什么f要代码重构 第一次代码不一定是完美的, 总会发现更优雅的写法. 代码重构需要考虑的问题 类库的修改不会破坏客户端程序员的代码. 源程序方便扩展和优化 2. 包 创建一个独一无二 ...

  10. C++ Primer Plus(第6版)习题(第二章)

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

随机推荐

  1. CUDA编程学习 (2)——CUDA并行性模型

    1. 基于 kernel 的 SPMD 并行编程 1.1 向量加法 kernel(device 代码) // Device Code // Compute vector sum C = A + B / ...

  2. windows下git安装以及基本使用

    Git的基本使用 Windows下Git的基本使用与操作 安装Git 这个是一个git的windows系统的命令行版本 https://git-scm.com/downloads 安装 tortois ...

  3. 干货分享:Air700ECQ的硬件设计,第二部分

    ​ 接下来分享第二部分. 3.10. 功能管脚 3.10.1. MAIN_RI 管脚名 类型 序号 电压域 作用 MAIN_RI DO 5 LDOAON 振铃信号,唤醒输出管脚,用于唤醒AP 表格 1 ...

  4. 符合ASTM标准的雨流计数法及其不同的改进方法

    随着研究的深入,人们发现采用时间序列计算载荷谱太麻烦了,处理的工作量太大,我们不需要将每个时刻点的载荷都做运算,疲劳计算只需要提供幅值.均值和循环次数,鉴于此发展出了很多不同的计数方法,雨流法是最常见 ...

  5. Docker registry cli 私有仓库镜像查询、删除、上传、下载 shell

    #Docker官方私有仓库registry#官方只提供了API接口,不方便使用,就写了个shell#docker-registry安装配置http://www.cnblogs.com/elvi/p/8 ...

  6. (Redis基础教程之八) 如何在Redis中管理Sets

    如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...

  7. Servlet 3.0 新特性详解(servlet是单实例多线程的,线程池数量有限)

    Servlet 是 Java EE 规范体系的重要组成部分,也是 Java 开发人员必须具备的基础技能,Servlet 3.0 是 Servlet 规范的最新版本.本文主要介绍了 Servlet 3. ...

  8. k8s之集群部署(kubeadm)

    [master&node] 1.修改主机名 hostnamectl set-hostname master-01 cat >> /etc/hosts << EOF 17 ...

  9. Vue.js 组件基础

    1.前言 本节讲述vue组件的基本格式以及实际开发的应用场景,本节内容兼容Vue2.x与Vue3.x 2.组件基础 组件的本质其实就是一个对象,这个对象包含多个属性,常见的属性有:template/d ...

  10. 0. RyuJIT Tutorials - RyuJIT 的历史和架构

    目录 上一篇:无 下一篇:待更新 正文 RyuJIT - 即 .NET 的 JIT 编译器,负责将 IL 代码编译为最终用于执行的机器代码. 本系列为 RyuJIT 教程,将分为多篇进行更新发布,旨在 ...