c语言明解课后答案,明解C语言 中级篇 第一章答案

练习1-1

#include

#include

int main() {

srand(time(0));

int anw = rand() % 7;

printf("您的签运是:");

switch (anw) {

case 0:printf("大吉"); break;

case 1:printf("吉"); break;

case 2:printf("小吉"); break;

case 3:printf("吉"); break;

case 4:printf("末吉"); break;

case 5:printf("凶"); break;

case 6:printf("大凶"); break;

}

}

练习1-2

#include

#include

int main() {

srand(time(0));

int anw = rand() %10;

printf("您的签运是:");

switch (anw) {

case 0:

case 1:printf("大吉"); break;

case 2:

case 3:printf("吉"); break;

case 4:

case 5:

case 6:printf("小吉"); break;

case 7:printf("末吉"); break;

case 8:printf("凶"); break;

case 9:printf("大凶"); break;

}

}

练习1-3

/* 猜数游戏(其五:显示输入记录)*/

#include

#include

#include

#define MAX_STAGE 12 /* 最多可以输入的次数 */

int main(void)

{

int i;

int stage; /* 已输入的次数 */

int no; /* 读取的值 */

int ans; /* 目标数字 */

int num[MAX_STAGE]; /* 读取的值的历史记录 */

srand(time(NULL)); /* 设定随机数的种子 */

ans = rand() % 1998-999; /* 生成-999~999的随机数 */

printf("请猜一个-999~999的整数。\n\n");

stage = 0;

do {

printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);

scanf("%d", &no);

num[stage++] = no; /* 把读取的值存入数组 */

if (no > ans)

printf("\a再小一点。\n");

else if (no < ans)

printf("\a再大一点。\n");

} while (no != ans && stage < MAX_STAGE);

if (no != ans)

printf("\a很遗憾,正确答案是%d。\n", ans);

else {

printf("回答正确。\n");

printf("您用了%d次猜中了。\n", stage);

}

puts("\n--- 输入记录 ---");

for (i = 0; i < stage; i++)

printf(" %2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);

return 0;

}

练习1-4

/* 猜数游戏(其五:显示输入记录)*/

#include

#include

#include

#define MAX_STAGE 12 /* 最多可以输入的次数 */

int main(void)

{

int i;

int stage; /* 已输入的次数 */

int no; /* 读取的值 */

int ans; /* 目标数字 */

int num[MAX_STAGE]; /* 读取的值的历史记录 */

srand(time(NULL)); /* 设定随机数的种子 */

ans = 3*(rand() %333)+3; /* 生成3~999之间3的倍数的随机数 */

printf("请猜一个3~999的而且是3的倍数整数。\n\n");

stage = 0;

do {

printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);

scanf("%d", &no);

while(no % 3 != 0) {

printf("请输入3的倍数:");

scanf("%d", &no);

}

num[stage++] = no; /* 把读取的值存入数组 */

if (no > ans)

printf("\a再小一点。\n");

else if (no < ans)

printf("\a再大一点。\n");

} while (no != ans && stage < MAX_STAGE);

if (no != ans)

printf("\a很遗憾,正确答案是%d。\n", ans);

else {

printf("回答正确。\n");

printf("您用了%d次猜中了。\n", stage);

}

puts("\n--- 输入记录 ---");

for (i = 0; i < stage; i++)

printf(" %2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);

return 0;

}

/* 猜数游戏(其五:显示输入记录)*/

#include

#include

#include

#define MAX_STAGE 12 /* 最多可以输入的次数 */

int main(void)

{

int i;

int stage; /* 已输入的次数 */

int no; /* 读取的值 */

int ans; /* 目标数字 */

int num[MAX_STAGE]; /* 读取的值的历史记录 */

srand(time(NULL)); /* 设定随机数的种子 */

ans = 3*(rand() %333)+3; /* 生成3~999之间3的倍数的随机数 */

printf("请猜一个3~999的而且是3的倍数整数。\n\n");

stage = 0;

do {

printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);

scanf("%d", &no);

if (no % 3 != 0) {

break;

}

num[stage++] = no; /* 把读取的值存入数组 */

if (no > ans)

printf("\a再小一点。\n");

else if (no < ans)

printf("\a再大一点。\n");

} while (no != ans && stage < MAX_STAGE);

if (no != ans)

printf("\a很遗憾,正确答案是%d。\n", ans);

else {

printf("回答正确。\n");

printf("您用了%d次猜中了。\n", stage);

}

puts("\n--- 输入记录 ---");

for (i = 0; i < stage; i++)

printf(" %2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);

return 0;

}

练习1-5

/* 猜数游戏(其五:显示输入记录)*/

#include

#include

#include

int main(void)

{

int i;

int stage; /* 已输入的次数 */

int no;

int cnt=0;/* 读取的值 */

int d1, d2, ans; /* 目标数字 */

srand(time(NULL)); /* 设定随机数的种子 */

d1 = rand();

d2 = rand();

int max = (d2 > d1) ? d2 : d1;

int min = (d2 < d1) ? d2 : d1;

ans = (rand() % (max -min))+min;

int x = (max - min);

printf("请猜一个%d~%d的整数\n\n", min, max);

while (x > 50)

{

x /= 2;

cnt++; }

cnt += 3;

int num[128]; /* 读取的值的历史记录 */

stage = 0;

do {

printf("还剩%d次机会。是多少呢:", cnt- stage);

scanf("%d", &no);

num[stage++] = no; /* 把读取的值存入数组 */

if (no > ans)

printf("\a再小一点。\n");

else if (no < ans)

printf("\a再大一点。\n");

} while (no != ans && stage < cnt);

if (no != ans)

printf("\a很遗憾,正确答案是%d。\n", ans);

else {

printf("回答正确。\n");

printf("您用了%d次猜中了。\n", stage);

}

puts("\n--- 输入记录 ---");

for (i = 0; i < stage; i++)

printf(" %2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);

return 0;

}

练习1-6

/* 猜数游戏(其五:显示输入记录)*/

#include

#include

#include

#define MAX_STAGE 6 /* 最多可以输入的次数 */

int main(void)

{

int i;

int stage; /* 已输入的次数 */

int no; /* 读取的值 */

int ans; /* 目标数字 */

int num[MAX_STAGE]; /* 读取的值的历史记录 */

int choice, d;

srand(time(NULL));

printf("请选择难度等级(1)1~9 (2)1~99 (3)1~999 (4)1~9999:");

scanf("%d", &choice);

if (choice == 1){

ans = rand() % 8 + 1;

d = 9;

}

if (choice == 2) {

ans = rand() % 98 + 1;

d = 99;

}

if (choice == 3) {

ans = rand() % 998 + 1;

d = 999;

}

if (choice == 4) {

ans = rand() % 9998 + 1;

d = 999;

}

printf("请猜一个1~%d的整数。\n\n",d);

stage = 0;

do {

printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);

scanf("%d", &no);

num[stage++] = no; /* 把读取的值存入数组 */

if (no > ans)

printf("\a再小一点。\n");

else if (no < ans)

printf("\a再大一点。\n");

} while (no != ans && stage < MAX_STAGE);

if (no != ans)

printf("\a很遗憾,正确答案是%d。\n", ans);

else {

printf("回答正确。\n");

printf("您用了%d次猜中了。\n", stage);

}

puts("\n--- 输入记录 ---");

for (i = 0; i < stage; i++)

printf(" %2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);

return 0;

}

练习1-7

/* 猜数游戏(其五:显示输入记录)*/

#include

#include

#include

#define MAX_STAGE 10 /* 最多可以输入的次数 */

int main(void)

{

int i;

int stage; /* 已输入的次数 */

int no; /* 读取的值 */

int ans; /* 目标数字 */

int num[MAX_STAGE]; /* 读取的值的历史记录 */

srand(time(NULL)); /* 设定随机数的种子 */

ans = rand() % 1000; /* 生成0~999的随机数 */

printf("请猜一个0~999的整数。\n\n");

stage = 0;

do {

printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);

scanf("%d", &no);

num[stage++] = no; /* 把读取的值存入数组 */

if (no > ans)

printf("\a再小一点。\n");

else if (no < ans)

printf("\a再大一点。\n");

} while (no != ans && stage < MAX_STAGE);

if (no != ans)

printf("\a很遗憾,正确答案是%d。\n", ans);

else {

printf("回答正确。\n");

printf("您用了%d次猜中了。\n", stage);

}

puts("\n--- 输入记录 ---");

for (i = 0; i < stage; i++) {

printf(" %2d : %4d ", i + 1, num[i]);

if(num[i] - ans==0)

printf("%4d\n", num[i] - ans);

else {

printf("%+4d\n", num[i] - ans);

}

}

return 0;

}

练习1-8

/* 猜数游戏(其五:显示输入记录)*/

#include

#include

#include

#define MAX_STAGE 10 /* 最多可以输入的次数 */

int main(void)

{

int i;

int stage; /* 已输入的次数 */

int no; /* 读取的值 */

int ans; /* 目标数字 */

int num[MAX_STAGE]; /* 读取的值的历史记录 */

srand(time(NULL)); /* 设定随机数的种子 */

ans = rand() % 1000; /* 生成0~999的随机数 */

printf("请猜一个0~999的整数。\n\n");

stage = 0;

i = 0;

for(i=0;i

printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);

scanf("%d", &no);

num[stage++] = no; /* 把读取的值存入数组 */

if (no > ans) {

printf("\a再小一点。\n");

}

if (no < ans){

printf("\a再大一点。\n");

}

if(ans==no){

break;

}

}

if (no != ans)

printf("\a很遗憾,正确答案是%d。\n", ans);

else {

printf("回答正确。\n");

printf("您用了%d次猜中了。\n", stage);

}

puts("\n--- 输入记录 ---");

for (i = 0; i < stage; i++) {

printf(" %2d : %4d ", i + 1, num[i]);

if(num[i] - ans==0)

printf("%4d\n", num[i] - ans);

else {

printf("%+4d\n", num[i] - ans);

}

}

return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 迁移数据_Java 10迁移建议

java 迁移数据你好&#xff0c;再一次到另一个热点。 我的名字是Java Champions的平台工程师和DevOps专家Peter Pilgrim。 如您所知&#xff0c;Java 9引入了模块系统。 您可能正在将服务迁移到JDK 10或更高版本&#xff0c;或者至少在考虑中。 我对企业的一般建议是&#xff…

IntelliJ IDEA for Mac 如何配置项目模块的源代码根目录_源码文件的根目录

按下组合键 Command ; 打开【项目结构】配置窗口&#xff1b;然后选择左侧菜单栏的【Modules】&#xff1b;然后在右侧的模块列表中&#xff0c;选择你要配置的模块&#xff1b;接着选择右侧界面中的【Sources】标签。 首先添加内容根目录&#xff08;Content Root&#xff0…

c语言动态内存分配数组,【C】动态内存分配

## 动态内存分配的意义C语言中的一切操作都是基于内存的变量和数组都是内存的别名内存分配由编译器在编译期间决定定义数组的时候必须指定数组长度数组长度是在编译期就必须确定的需求&#xff1a;程序在运行过程中&#xff0c;可能需要使用一些额外的内存空间malloc和freemall…

javafx 调用java_Java“地铁”表(JavaFX)

javafx 调用java再次嗨&#xff0c;这次&#xff0c;TableView“ Metro”样式被添加到JMetro JavaFX主题。 这会将JMetro版本放大到3.1.0。 我之所以没有添加表格样式&#xff0c;是因为奇怪的是在Fluent设计系统&#xff08;以前是Metro&#xff09;中还没有表格的定义。 有一…

IntelliJ IDEA for Mac 修改项目模块的名称

按下组合键 Command ; 打开项目结构窗口&#xff0c;选择左侧边栏的菜单【Modules】&#xff0c;然后选择你要修改的模块&#xff0c;在右侧的【Name】输入框可以修改名称&#xff0c;具体操作如下图所示&#xff1a; 注&#xff1a;模块名称虽然修改了&#xff0c;但是模块的…

二分查找算法举例说明C语言,C语言快速排序与二分查找算法示例

本文实例讲述了C语言二分排序与查找算法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;题目&#xff1a;首先产生随机数&#xff0c;再进行快速排序&#xff0c;再进行二分查找。实现代码&#xff1a;#include #include #include void quiksort(int a[],int low,int …

gradle跟pom_Gradle多项目构建–父pom式结构

gradle跟pom当您来自Maven背景时&#xff0c;很可能已经习惯了父pom结构。 现在&#xff0c;在进行gradle时&#xff0c;情况有所不同。 想象一下有一个包含接口和各种其他实现的项目的场景。 这将是我们的项目结构。 multi-project-gradle -- specification -- core -- i…

java streams_使用Stream.peek在Java Streams内部进行窥视

java streams对于刚接触JDK 8的管道和流的Java开发人员而言&#xff0c; Stream接口提供的peek&#xff08;Consumer&#xff09;方法可以是有用的工具&#xff0c;有助于可视化流操作的行为。 即使是更熟悉Java流和聚合操作的Java开发人员&#xff0c;有时也会发现Stream.peek…

算法提高 日期计算c语言,算法提高 日期计算

//规定年份2017年1月1日 星期7#includeusing namespace std;int rn(int n) //判断是否是润年{if (n%40 && n%100!0 || n%4000)return 1;return 0;}int md[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};int main(){int year,month,day;int i,sum0,td0;while (cin>>…

IntelliJ IDEA for Mac 模块源文件的编译输出路径配置

按下组合键 Command ; 打开【项目结构】窗口&#xff0c;接着在左侧菜单栏中选择【Modules】&#xff0c;接着在右侧模块列表中选择要设置的模块&#xff0c;接着选择右侧的【Paths】标签&#xff0c;如下图所示&#xff1a; 不知道搞个【test ouput path】的好处在哪里&…

IntelliJ IDEA for Mac 如何在当前的普通Java项目中创建新的模块/添加模块/创建模块

文章目录添加模块的入口创建新的项目模块添加模块的入口 添加新的模块的入口有两个&#xff0c;如下图所示&#xff1a; 第一种方式&#xff0c;【File】 --> 【New】 --> 【Module】&#xff1a; 第二种方式&#xff0c;打开【Project Structure】窗口&#xff0c;然后…

react api_使用Java EE 8中的React式API加速服务

react api服务通常可以通过异步处理进行优化&#xff0c;即使不改变其对外界的行为。 某些服务效率不高的原因是&#xff0c;它们需要等待其他服务提供结果才能继续下去。 让我们看一下如何在不等待外部REST服务的情况下调用它们&#xff0c;并独立进行多个并行调用&#xff…

android申请权限一次性申请多个,android 6.0以上动态一次申请多个权限-最美解决方案...

目录背景危险权限申请权限思路申请权限流程干货后续一.背景android23 API新增危险权限校验&#xff0c;需要手动获取&#xff1a;二.危险权限&#xff1a;日历数据android.permission-group.CALENDARandroid.permission.READ_CALENDARandroid.permission.WRITE_CALENDAR相机and…

IntelliJ IDEA for Mac 直接将模块硬盘上的根目录删除会怎么样

不通过 IDEA 删除模块文件&#xff0c;而是直接手动从硬盘删除模块文件&#xff0c;造成的结果如下图所示&#xff1a; 【模块内容导航窗格】的内容是根据以下两个配置文件的信息从硬盘中加载进来的&#xff1a; 项目根目录/.idea/modules.xml 这个文件记载了配置文件【模块名…

java 谓词_谓词::不适合Java

java 谓词Jim Laskey在OpenJDK core-libs-dev邮件列表上最近的消息“ RFR&#xff1a;CSR – JDK-8203428 Predicate :: not ”指出了JDK Bug JDK-8203428 [“ Predicate :: not”]。 JDK-8203428的“摘要”指出&#xff1a;“引入新的静态方法Predicate :: not&#xff0c;这将…

android root权限函数,android 4.4下app永久获取root权限的方法

本帖最后由 jackson 于 2017-4-16 20:55 编辑通过参照[FAQ11414]android KK 4.4 版本后&#xff0c;user 版本su 权限严重被限制问题说明http://www.voidcn.com/blog/wds1181977/article/p-6157006.html明确要修改三个地方&#xff1a;(1)把dalvik/vm/native/dalvik_system_Zyg…

IntelliJ IDEA 项目开发中各个目录的关系

项目根目录&#xff08;Project Root&#xff09;&#xff1a;本地硬盘中存放项目内容的根目录 项目名称&#xff08;Project Name&#xff09;&#xff1a;IDEA 保存的项目名称&#xff0c;默认和项目根目录的名称相同&#xff0c;可以修改。有啥作用&#xff1f;通过 IDEA 部…

apache spark_Apache Spark中的自定义日志

apache spark您是否曾经对运行了几个小时的Spark作业感到沮丧&#xff0c;但由于基础设施问题而失败了。 您会很晚才知道此故障&#xff0c;并浪费了数小时的时间&#xff0c;当Spark UI日志也无法进行事后检查时&#xff0c;它会更加痛苦。 你不是一个人&#xff01; 在本文…

android中暂停服务,Android 装逼技术之暗码启动应用

前言喜欢的小伙伴欢迎关注&#xff0c;我会定期分享Android知识点及解析&#xff0c;还会不断更新的BATJ面试专题&#xff0c;欢迎大家前来探讨交流&#xff0c;如有好的文章也欢迎投稿。什么是暗码&#xff1f;在拨号盘中输入*#*##*#*后&#xff0c;APP 可以监控到这些输入&am…

JShell 详解

文章目录一、简介二、为什么使用 JShell三、参考示例启动 JShell退出 JShell声明定义基本类型的变量声明定义一个方法覆盖已存在的变量、方法、类的定义查看 JShell 默认导入的包自动补全功能列出所有键入的源列出已声明方法及其签名加载外部的源代码查看 JShell 提供的所有指令…