啊哈!C语言课后参考答案下
最近看到一本好评量很高的的C语言入门书,课本真的很好,入门的话。专业性没有那么强,但入门足够了!!好评!看着看着就想把这本书的题课后习题都写出来,最后就有了这个小结。可能有的不是最好,不那么专业,但主要是以初学者的思维角度去写。尽量让初学者通俗易懂。
链接:https://pan.baidu.com/s/1nArPBm8nxCrj8awWQBglSw
提取码:zlm8
第五章
//第六节
/*请在4~100内验证哥德巴赫猜想,输出每一个偶数的所有可能的拆分方法。
例如:
4=2+2
6=3+3
8=3+5
10=3+7=5+5
12=5+7
14=3+11=7+7
……
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
int k,a,b,i,fa,fb;
for(k=4;k<=100;k=k+2){
printf("%d",k);
for(a=2;a<=k/2;a++){
fa=0;//判断a是否为素数
for(i=2;i<=a-1;i++){
if(a%i==0){
fa=1;
break;
}
}
if(fa==0){//如果a为素数
b=k-a;//判断b是否为质数
fb=0;
for(i=2;i<=b-1;i++){
if(b%i==0){
fb=1;
break;
}
}
if(fb==0){
printf("=");
printf("%d+%d",a,b);
}
}
}
printf("\n");
}
system("pause");
return 0;
}
//第七节
/*1、输入一个3位数,求这个数个位、十位和百位的数之和。例如, 输入782,输出17;输入156,输出12。*/
#include <stdio.h>
#include <stdlib.h>
int main() {
int a,i,j,k;
scanf("%d",&a);
i=a/100;
j=(a/10)%10;
k=a%10;
printf("%d",i+j+k);
system("pause");
return 0;
}
/*2.输入一个n 位数,范围在1~99 999 999,求这个n位数每一位上的数之和。
例如,输入12,输出3;输入234 510,输出15。*/
#include <stdio.h>
#include <stdlib.h>
int main() {
long int a,sum=0,i;
scanf("%d",&a);
i=a;
while(i){
sum=sum+(i%10);//通过循环将数字n的每一位都剥离下来,并存储到sum中
i=i/10;
}
printf("%d",sum);
system("pause");
return 0;
}
//第八节
/*用1~6这6个自然数组成一个三角形,并让这个三角形三条边上数字之和相等。例如,如图5-2所示的三角形中,三条边的值之和分别 为:5+3+4、4+2+6、5+1+6,都等于12。那么现在请你输出所有的可能。
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
int a, b, c, ab, bc, ac,count=1;
for (a = 1; a <= 6; a++)
for (b = 1; b <= 6; b++)
for (c = 1; c <= 6; c++)
for (ab = 1; ab <= 6; ab++)
for (bc = 1; bc <= 6; bc++)
for (ac = 1; ac <= 6; ac++) {
if (a != b && a != c && a != ab && a != bc &&
a != ac && b != c && b != ab && b != bc &&
b != ac && c != ab && c != bc &&
c != ac && ab != bc &&
ab != ac && bc != ac) {
if (a + ab + b == a + ac + c && a + ab + b == b + bc + c) {
printf("这个三角形有%d\n",count);
printf(" %d \n", a);
printf(" %d %d \n", ab, ac);
printf("%d %d %d\n", b, bc, c);
count++;
}
}
}
system("pause");
return 0;
}
//第九节
/*如何生成一个1~20 000 000的随机数?*/
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main() {
int a;
srand((unsigned)time(NULL));
a=rand()*1000;
printf("%d",a);
system("pause");
return 0;
}
第六章
//第六节
//输入n个数,并将这n 个数按照从小到大或者从大到小的顺序输出。
#include <stdio.h>
#include <stdlib.h>
int main(){
int i,j,t,n;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++){
for(j=i;j<n;j++){
if(a[i]>a[j]){
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
return 0;
}
第七章
//第一节
#include <stdio.h>
#include <stdlib.h>
int main(){
int a,b;
char c;
scanf("%d%c%d",&a,&c,&b);
if(c=='+')
printf("%d",a+b);
if(c=='-')
printf("%d",a-b);
if(c=='*')
printf("%d",a*b);
if(c=='/')
printf("%d",a/b);
return 0;
}
//第二节
getchar()读取一个字符,输入后等待用户按“Enter”键结束(带回 显)。
getche()读取一个字符,输入后立即获取字符,不用按“Enter”键 结束(带回显)。
getch()读取一个字符,输入后立即获取字符,不用按“Enter”键 来结束(不带回显)。
//第六节
//输入两个单词,然后按照字典序输出这两个单词。
//strcmp(a, b)就是比较字符串a和字 符串b在字典中的顺序。
//如果字符串a和字符串b完全相同,那么返回值为0。
//如果字符串a在字典中比字符串b先出现,那么返回值小于0。
//如果字符串a在字典中比字符串b后出现,那么返回值大于0。
//举一个例子:假设a和b是两个字符数组,分别存储两个字符串,然 后把a和b按照字典序输出。
#include <stdio.h>
#include <stdlib.h>
int main(){
char a[101],b[101];
gets(a);
gets(b);
if(strcmp(a,b)<=0){
puts(a);
puts(b);
}else{
puts(b);
puts(a);
}
return 0;
}
//第七节
//输入5个单词,然后把这些单词按照字典序输出。
//strcpy(a[i], a[j]);的意思就是把字符串a[j]的内容原封不动地复制到字符串a[i]中,从而替换掉字符串a[i]中原来的内容。
#include <stdio.h>
#include <stdlib.h>
int main(){
char a[5][11],t[11];
int i,j;
for(i=0;i<=4;i++){
gets(a[i]);
}
for(i=0;i<=3;i++){
for(j=j+1;j<=4;j++){
if(strcmp(a[i],a[j])>0){
strcpy(t,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],t);
}
}
}
for(i=0;i<=4;i++){
puts(a[i]);
}
return 0;
}
啊哈!C语言课后参考答案下的更多相关文章
- 啊哈!C语言课后参考答案上
最近看到一本好评量很高的的C语言入门书,课本真的很好,入门的话.专业性没有那么强,但入门足够了!!好评!看着看着就想把这本书的题课后习题都写出来,最后就有了这个小结.可能有的不是最好,不那么专业,但主 ...
- 趣味编程:C#中Specification模式的实现(参考答案 - 下)
一篇文章中我们利用C#语言的特性实现了一种轻量级的Specification模式,它的关键在于抛弃了具体的Specification类型,而是使用一个委托对象代替唯一关键的IsSatisfiedBy方 ...
- 全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案
第二章 Python语言基本语法元素 一.选择题C B B C A D B A D B二.编程题1.获得用户输入的一个整数N,计算并输出N的32次方.在这里插入图片描述2.获得用户输入的一段文字,将这 ...
- 《招聘一个靠谱的iOS》面试题参考答案(下)
相关文章: <招聘一个靠谱的iOS>面试题参考答案(上) 说明:面试题来源是微博@我就叫Sunny怎么了的这篇博文:<招聘一个靠谱的 iOS>,其中共55题,除第一题为纠错题外 ...
- web实验指导书和课后习题参考答案
实验指导书 :http://course.baidu.com/view/daf55bd026fff705cc170add.html 课后习题参考答案:http://wenku.baidu.com/li ...
- 【转载】经典10道c/c++语言经典笔试题(含全部所有参考答案)
经典10道c/c++语言经典笔试题(含全部所有参考答案) 1. 下面这段代码的输出是多少(在32位机上). char *p; char *q[20]; char *m[20][20]; int (*n ...
- 史上最全Java面试题整理(附参考答案)
下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 1.面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来 ...
- 非常全的linux面试笔试题及参考答案
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点来标识 ...
- C++ Primer 第 5 版 习题参考答案
从 5 月初 - 8 月 16 日,每天基本都在啃 C++ 的语法.起初直接看C++ Primer 中文版(第 5 版),发现后边的章节看着很吃力.所以就转而看了清华大学郑莉老师和李超老师的视频C++ ...
随机推荐
- 不需内测账号,带你体验微信小程序完整开发过程
不需内测账号,带你体验微信小程序完整开发过程 2016年09月24日 - 作者: SwiftCafe 微信小程序还没正式发布就已经迅速成为大家讨论的焦点,那么大家可能觉得只有收到内测邀请才能体验小程序 ...
- PyTorch之前向传播函数自动调用forward
参考:1. pytorch学习笔记(九):PyTorch结构介绍 2.pytorch学习笔记(七):pytorch hook 和 关于pytorch backward过程的理解 3.Pytorch入门 ...
- NLP --- 条件随机场CRF详解 重点 特征函数 转移矩阵
上一节我们介绍了CRF的背景,本节开始进入CRF的正式的定义,简单来说条件随机场就是定义在隐马尔科夫过程的无向图模型,外加可观测符号X,这个X是整个可观测向量.而我们前面学习的HMM算法,默认可观测符 ...
- uva 624 CD (01背包)
CD You have a long drive by car ahead. You have a tape recorder, but unfortunately your best musi ...
- java 反射的概念
反射的引入: Object obj = new Student(); 若程序运行时接收到外部传入的一个对象,该对象的编译类型是Object,但程序又需要调用该对象运行类型的方法: 1.若编译和运行类型 ...
- P1038 间谍入侵
题目描述 爱丽丝魔法王国成立10周年,于是决定矩形国庆大阅兵. 在国庆大阅兵期间,为了防止暗黑王国的间谍乔装成平民混入,需要对每一个进城的人做检测. 因为暗黑王国的人长得和爱丽丝魔法王国的人长得很像, ...
- Linux 字节序
小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高 级的平台以另一种方式(大端)工作. 任何可能的时候, 你的代码应当这样来编写, 它不在 乎它操作的数据的字节序 ...
- vue-learning:38 - router - 前端路由的发展
前端路由的发展 参考博客 前端路由是什么东西? 什么是路由 在jQuery时代,我们使用<a href="https://www.example.com/example/home.ht ...
- 彻底弄懂slice和splice的区别
总觉得数组和字符串中的一些方法的使用很难记,可能是日常都是在学理论,缺少实际应用.不多说了,继续学习吧! 一句话先提前概括: slice(start,end) 从哪到哪开始删 splice(strt, ...
- 【Jenkins】pipeline-hello-world项目
1.New Item 2.Pipeline Definition 3.Build Error 4.Solution 5.Console Output