目录

第三节        逻辑挑战7:判断质数很简单

判断5是否为质数:

判断5是否为质数(反向思维):

判断5是否为质数(改善方法):

判断任意一个数是不是质数:

输出一个数的所有约数,如果没有约数就是质数:

第4节        更快一点:break

判断一个正整数是否为质数:

用break语句输出1 2 3 4 5:

第5节        continue

用continue语句打印1~100的偶数:

第6节        逻辑挑战8:验证哥德巴赫猜想

判断一个数是否为质数:

在4~100内验证哥德巴赫猜想并输出每个偶数的所有可能的拆分方法:

第7节        逻辑挑战9:水仙花数

用三重嵌套循环来产生100~999:

在100~999中判断哪个数字是“水仙花数”(拼接法):

在100~999中判断哪个数字是“水仙花数”(分割法):

输入一个3位数,求这个数个位、十位和百位的数之和:

输入范围在1~99999999的n位数,求这个n位数每一位上的数之和:

第8节        逻辑挑战10:解决奥数难题

请在两个□内填入相同的数字使得等式成立:□3 * 6528 = 3□ * 8256

请问A、B、C、D、E(5个互不相同的整数)分别为多少时,ABCD*E=DCBA:

用1~6自然数组成一个三角形并让这个三角形三条边上数字之和相等:

第9节        逻辑挑战11:猜数游戏

限定6次猜0~99的整数:

生成一个1~20000000的随机数:

第10节        逻辑挑战12:你好坏,关机啦

启动关机程序与6次猜数问题结合:


第三节        逻辑挑战7:判断质数很简单


判断5是否为质数:

#include <stdio.h>
#include <stdlib.h>int main()
{int a;a = 5;if (a % 2 != 0 && a % 3 != 0 && a % 4 != 0){printf("质数\n");}else{printf("合数\n");}system("pause");return 0;
}

调试结果:



判断5是否为质数(反向思维):

#include <stdio.h>
#include <stdlib.h>int main()
{int a;a = 5;if (a % 2 == 0 || a % 3 == 0 || a % 4 == 0){printf("合数\n");}else{printf("质数\n");}system("pause");return 0;
}

调试结果:



判断5是否为质数(改善方法):

#include <stdio.h>
#include <stdlib.h>int main()
{int a, count, i;count = 0;a = 5;for (i = 2; i <= 4; i++){if (a % i == 0)count++;}if (count == 0){printf("质数\n");}else{printf("合数\n");}system("pause");return 0;
}

调试结果:



判断任意一个数是不是质数:

#include <stdio.h>
#include <stdlib.h>int main()
{int a, count, i;count = 0;scanf("%d", &a);for (i = 2; i <= a - 1; i++){if (a % i == 0)count++;}if (count == 0){printf("质数\n");}else{printf("合数\n");}system("pause");return 0;
}

调试结果:



输出一个数的所有约数,如果没有约数就是质数:

#define  _CRT_SECURE_NO_WARNINGS#include <stdio.h>
#include <stdlib.h>int main()
{int a, count, i;count = 0;scanf("%d", &a);for (i = 2; i <= a - 1; i++){if (a % i == 0){count++;printf("%d ", i); //打印出约数}}if (count == 0){printf("\n质数\n");}else{printf("\n合数\n");}system("pause");return 0;
}

调试结果:


第4节        更快一点:break


判断一个正整数是否为质数:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>int main()
{int a, count, i;count = 0;scanf("%d", &a);for (i = 2; i <= a - 1; i++){if (a % i == 0){count++;break;}}if (count == 0){printf("质数\n");}else{printf("合数\n");}system("pause");return 0;
}

调试结果:



用break语句输出1 2 3 4 5:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>int main()
{int a, count, i;count = 0;scanf("%d", &a);for (i = 2; i <= a - 1; i++){if (a % i == 0){count++;printf("%d ", i); //打印出约数}}if (count == 0){printf("质数\n");}else{printf("合数\n");}system("pause");return 0;
}

调试结果:


第5节        continue


用continue语句打印1~100的偶数:

#include <stdio.h>
#include <stdlib.h>int main()
{int i;for (i = 1; i <= 100; i++){if (i % 2 == 1){continue;}printf("%d ", i);}printf("\n");system("pause");return 0;
}

调试结果:


第6节        逻辑挑战8:验证哥德巴赫猜想


判断一个数是否为质数:

#include <stdio.h>
#include <stdlib.h>int main()
{int k, a, b, i, count1, count2;for (k = 4; k <= 100; k = k + 2){for (a = 2; a <= k / 2; a++){//判断a是否为质数count1 = 0;for (i = 2; i <= a - 1; i++){if (a % i == 0){count1++;break;}}if (count1 == 0) //如果a为质数{b = k - a;//判断b是否为质数count2 = 0;for (i = 2; i <= b - 1; i++){if (b % i == 0){count2++;break;}}if (count2 == 0) //如果b也是质数{printf("%d = %d + %d\n", k, a, b);break; //打印这个解并跳出循环}}}}system("pause");return 0;
}

调试结果:



在4~100内验证哥德巴赫猜想并输出每个偶数的所有可能的拆分方法:

#include <stdio.h>
#include <stdlib.h>int main()
{int a, b, k, i, count1, count2;for (k = 4; k <= 100; k = k + 2){printf("%d", k);for (a = 2; a <= k / 2; a++){count1 = 0;for (i = 2; i <= a - 1; i++){if (a % i == 0)count1++;}if (count1 == 0){b = k - a;count2 = 0;for (i = 2; i <= b - 1; i++){if (b % i == 0)count2++;}if (count2 == 0)printf(" = %d + %d ", a, b);}}printf("\n");}system("pause");return 0;
}

调试结果:


第7节        逻辑挑战9:水仙花数


用三重嵌套循环来产生100~999:

#include <stdio.h>
#include <stdlib.h>int main()
{int i, j, k;for (i = 1; i <= 9; i++){for (j = 0; j <= 9; j++){for (k = 0; k <= 9; k++){printf("%d ", i * 100 + j * 10 + k);}}}printf("\n");system("pause");return 0;
}

调试结果:



在100~999中判断哪个数字是“水仙花数”(拼接法):

#include <stdio.h>
#include <stdlib.h>int main()
{int i, j, k;for (i = 1; i <= 9; i++){for (j = 0; j <= 9; j++){for (k = 0; k <= 9; k++){if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k){printf("%d ", i * 100 + j * 10 + k);}}}}printf("\n");system("pause");return 0;
}

调试结果:



在100~999中判断哪个数字是“水仙花数”(分割法):

#include <stdio.h>
#include <stdlib.h>int main()
{int x, a, b, c;for (x = 100; x <= 999; x++){a = x / 100;b = x / 10 % 10;c = x % 10;if (x == a * a * a + b * b * b + c * c * c)printf("%d ", x);}printf("\n");system("pause");return 0;
}

调试结果:



输入一个3位数,求这个数个位、十位和百位的数之和:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>int main()
{int x, a, b, c, d;scanf("%d", &x);a = x / 100;b = x / 10 % 10;c = x % 10;d = a + b + c;printf("%d \n", d);system("pause");return 0;
}

调试结果:



输入范围在1~99999999的n位数,求这个n位数每一位上的数之和:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>int main()//主函数
{int x, y = 0; //定义两个数,x代表这个输入的n位数,y代表n各个位上数之和 scanf("%d", &x); //输入一个数,将其存放到x while (x > 0) //使用while循环函数只要x>0循环一直进行 {y += x % 10; //y只要一直加x的余数,就是各个位数上的数字 x = x / 10; //由于x等号两边的数为整数则结果为整数,让x的位数递减直至x=0循环结束 }printf("%d\n", y);system("pause");return 0;
}

调试结果:


第8节        逻辑挑战10:解决奥数难题


请在两个□内填入相同的数字使得等式成立:□3 * 6528 = 3□ * 8256

#include <stdio.h>
#include <stdlib.h>int main()
{int i;for (i = 1; i <= 9; i++){if ((i * 10 + 3) * 6528 == (30 + i) * 8256)printf("%d\n", i);}system("pause");return 0;
}

调试结果:



请问A、B、C、D、E(5个互不相同的整数)分别为多少时,ABCD*E=DCBA:

#include <stdio.h>
#include <stdlib.h>int main()
{int a, b, c, d, e;for (a = 0; a <= 9; a++){for (b = 0; b <= 9; b++){for (c = 0; c <= 9; c++){for (d = 0; d <= 9; d++){for (e = 0; e <= 9; e++){if (a != b && a != c && a != d && a != e && b != c && b != d && b != e && c != d && c != e && d != e){if ((a * 1000 + b * 100 + c * 10 + d) * e == (d * 1000 + c * 100 + b * 10 + a)){printf("%d%d%d%d\n", a, b, c, d);printf("*  %d\n", e);printf("----\n");printf("%d%d%d%d\n", d, c, b, a);}}}}}}}system("pause");return 0;
}

调试结果:



用1~6自然数组成一个三角形并让这个三角形三条边上数字之和相等:

#include <stdio.h>
#include <stdlib.h>int main()
{int a, b, c, d, e, f, sum = 0;for (a = 1; a <= 6; a++){for (b = 1; b <= 6; b++){for (c = 1; c <= 6; c++){for (d = 1; d <= 6; d++){for (e = 1; e <= 6; e++){for (f = 1; f <= 6; f++){if (a + b + c == c + d + e){if (c + d + e == e + f + a){if (a + b + c == a + f + e){if (a != b && a != c && a != d && a != e && a != f&& b != c && b != d && b != e && b != f&& c != d && c != e && c != f&& d != e && d != f&& e != f){sum++;printf("\n\n");printf("  %d\n\n", a);printf("     %d       %d\n\n", b, f);printf("%d     %d  %d\n\n", c, d, e);printf("--------------------------\n");}}}}}}}}}}printf("\nsum = %d \n", sum);system("pause");return 0;
}

调试结果:

14       65        2       3--------------------------15       63        4       2--------------------------16       52        4       3--------------------------16       43        2       5--------------------------23       56        1       4--------------------------24       63        5       1--------------------------25       34        1       6--------------------------26       41        5       3--------------------------32       65        4       1--------------------------34       52        6       1--------------------------35       41        6       2--------------------------36       21        4       5--------------------------41       56        3       2--------------------------42       36        1       5--------------------------43       25        1       6--------------------------45       12        3       6--------------------------51       36        2       4--------------------------52       43        6       1--------------------------53       14        2       6--------------------------54       21        6       3--------------------------61       34        5       2--------------------------61       25        3       4--------------------------62       14        3       5--------------------------63       12        5       4--------------------------sum = 24
请按任意键继续. . .

第9节        逻辑挑战11:猜数游戏


限定6次猜0~99的整数:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main()
{int a, b, sum;sum = 6;srand((unsigned)time(NULL));a = rand() % 100;while (1){sum--;scanf("%d", &b);if (b > a)printf("大了,还剩下%d次机会,请继续\n", sum);if (b < a)printf("小了,还剩下%d次机会,请继续\n", sum);if (b == a){printf("恭喜你,答对了!\n");break;}if (sum == 0){printf("已经没有机会了,请重新开始吧!\n");break;}}system("pause");return 0;
}

调试结果:



生成一个1~20000000的随机数:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>int main()
{int a, b, n, i = 1;srand((int)time(NULL));while (i > 0){int a = rand() % 4000 + 1;int b = rand() % 5000 + 1;int n = a * b;printf("%d\n", n);i--;}system("pause");return 0;
}

调试结果:


第10节        逻辑挑战12:你好坏,关机啦


启动关机程序与6次猜数问题结合:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
#include<time.h>int main()
{int a, b, sum;sum = 6;srand((unsigned)time(NULL));a = rand() % 100;while (1){sum--;scanf("%d", &b);if (b > a)printf("大了,还剩下%d次机会,请继续\n", sum);if (b < a)printf("小了,还剩下%d次机会,请继续\n", sum);if (b == a){printf("恭喜你,答对了!\n");break;}if (sum == 0){printf("没有机会了,系统将在50秒后关机\n");system("shutdown -s -t 50");break;}}system("pause");return 0;
}

调试结果:


啊哈C语言 第五章 【代码】【习题答案】相关推荐

  1. c语言第六章数组题库及详解答案,C语言第六章数组习题答案.doc

    C语言第六章数组习题答案 第六章 数组 习题答案 一.选择题 12345678910CDBDCDDBCC11121314151617181920DBBCDDCDBD212223242526272829 ...

  2. c语言定义int 输出4386,大学C语言第五章课后习题参考程序

    考试,二级C语言备考 第五章课后习题参考程序 5.1 编写程序,求100-2000之间所有3的倍数之和,当和大于1000时结束. (参考答案:900) #include int main() { in ...

  3. 疯狂java讲义第五章课后习题答案

    1.编写一个学生类,提供name.age.gender.phone.address.cmail成员变量,且为每个成员变量提供 seter.geter方法.为学生类提供默认的构造器和带所有成员变量的构造 ...

  4. C语言 第五章 选择结构 答案,c语言第五章 选择结构程序设计(习题册答案).doc

    第五章 选择结构程序设计 基础练习(A) 一.填空题 1.关系表达式的运算结果是 逻辑 值.C语言没有逻辑型数据,以 1 代表"真",以 0代表"假". 2.逻 ...

  5. 2022SDUT知到/智慧树----C语言第五章测试题解(答案~)大家看清顺序

    第五章测试-答案已加粗 1[判断题](10分) 在C语言中,逻辑运算符"&&"比"||"的优先级高(). A.对 B.错 参考答案:A 2[判断 ...

  6. 《Python语言程序设计》王恺 机械工业出版社 第五章课后习题答案

    第五章 序列.集合和字典 5.8 课后习题 (1)Python 中,通过列表中的 index 方法可以根据指定值查找第一个匹配的列表元素 的位置. (2)Python 中,通过列表中的 insert ...

  7. 材料力学Ⅰ(第六版)第五章课后习题答案

    第一章 绪论 第二章 拉伸.压缩与剪切 第三章 扭转 第四章 弯曲内力 第五章 弯曲应力 第六章 弯曲变形 第七章 应力和应变分析强度理论 第八章 组合变形 第九章 压杆稳定

  8. 操作系统--第五章 虚拟存储器--习题答案

    第五章 操作系统第四版课后的全部习题答案,学习通作业答案. 说明:操作系统其他章节的习题答案也在此"操作系统"专栏. 1.试说明设备控制器的组成. 答:由设备控制器与处理机的接口, ...

  9. c语言第五章循环结构答案,C语言循环结构练习题带答案

    <C语言循环结构练习题带答案>由会员分享,可在线阅读,更多相关<C语言循环结构练习题带答案(8页珍藏版)>请在人人文库网上搜索. 1.第5章循环结构程序设计练习题1.单项选择题 ...

  10. 【最详细】数据结构(C语言版 第2版)第五章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 1.选择题 ( 1)把一棵树转换为二叉树后,这棵二叉树的形态是() . A.唯一的 B.有多种 C.有多种,但根结点都没有左孩子 D.有多种,但根结点都没有右孩子 ...

最新文章

  1. mac自带php7降级,MAC更新自带php版本到7.0
  2. [20150205]分析函数ntile.txt
  3. 【腾讯面试题】Docker
  4. C++之类模板最简单的使用
  5. 开源:Swagger Butler 1.1.0发布,利用ZuulRoute信息简化配置内容
  6. BugkuCTF-Crypto题奇怪的密码
  7. IoT技术架构与安全威胁
  8. 用DD-WRT自建计费WiFi热点
  9. vue实现添加购物车光标效果
  10. GitHub 和 gitlab 的使用
  11. C++实现IE缓存迭代器
  12. [bowen干货]-redis常用五种数据类型命令和场景描述
  13. 混合现实:地面高度不准确
  14. centos 7 JDK 环境部署
  15. stroj uplink
  16. 给的再多,不如懂我——Gif录制工具,这两个就够了
  17. 2022年Python笔试选择题及答案(秋招)
  18. android浏览器插件开发,Android浏览器插件开发.docx
  19. Customizing the Banner
  20. P42-前端基础-浮动塌陷最终解决方案

热门文章

  1. 上海市大学生CTF(华东杯CTF) Crypto 全解
  2. SetTexture()
  3. 计算机网络技术的就业前景
  4. Istio,下一个Kubernetes?
  5. python全0列表_Python 列表(Lists)
  6. 面试官100%会问的接口测试的知识
  7. Python-字典学习笔记(完)
  8. ajax请求怎么实现跨域
  9. java map详解
  10. AI高效学习路径总结