编译环境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. 避免大量ifelse(枚举、工厂模式、策略模式)

    枚举 public class Test { public static void main(String[] args) { System.out.println(judge("ROLE_ ...

  2. Johnson全源最短路:负权化正权,最后减去势能差

    Johnson全源最短路:负权化正权,最后减去势能差 (1)建虚点0,add(0,i,0),跑st=0的单源最短路hi (2)e[i].w+=h[u]-h[v] ​ Q:为何这样不会得到错误答案? ​ ...

  3. Qt Creator快捷键记录

    Ctrl + K:代码格式化(先选中要格式化的代码) F4:在头文件和源文件之间切换 Ctrl+/:注释和取消注释 F2:在声明和实现之间切换 Ctrl+K:打开定位器(locator),搜索文件名 ...

  4. 基于Java+SpringBoot心理测评心理测试系统功能实现八

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...

  5. 【一步步开发AI运动小程序】七、进行运动计时、计数

    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的"乐动力"."天天跳绳"AI运动APP,让云上运动会.线上运动会.健身打卡.AI体育指导等概念空前火热.那 ...

  6. AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)

    最近,"AI孙燕姿"翻唱众多明星的歌曲在各大网络平台上走红,其作品不仅累积上千万的播放量,在科技圈和音乐圈也都引发了热议,歌手孙燕姿在社交平台发文回应称:人类无法超越AI技术已指日 ...

  7. 结合反射与 XML 实现 Java 编程的动态性

    反射是 Java 语言被视为动态或准动态语言的一个关键性质,结合反射和 XML 会帮助我们更快.更方便地实现一些动态代码,从而解决编程中可能遇到的不确定问题.本文将结合反射与 XML 对 Java 编 ...

  8. JAVA并发编程学习笔记之synchronized

    监视器 java中同步是通过监视器模型来实现的,JAVA中的监视器实际是一个代码块,这段代码块同一时刻只允许被一个线程执行.线程要想执行这段代码块的唯一方式是获得监视器. 监视器有两种同步方式:互斥与 ...

  9. golang之操作kafka

    安装第三方包: go get github.com/IBM/sarama 生产者实例: package main import ( "fmt" "github.com/I ...

  10. windows下python批量更新软件包

    前言 相信很多小伙伴都遇到过python有些软件包版本过低导致无法安装一些模块的问题,刚好我前两天也遇到了,这里写个文章记录一下 一.更新pip版本 打开命令控制面板,输入: python -m pi ...