明解C语言 中级篇 第一章答案
练习1-1
#include <stdio.h>
#include<stdlib.h> int main() {
srand(time());
int anw = rand() % ;
printf("您的签运是:");
switch (anw) {
case :printf("大吉"); break;
case :printf("吉"); break;
case :printf("小吉"); break;
case :printf("吉"); break;
case :printf("末吉"); break;
case :printf("凶"); break;
case :printf("大凶"); break;
}
}
练习1-2
#include <stdio.h>
#include<stdlib.h> int main() {
srand(time());
int anw = rand() %;
printf("您的签运是:");
switch (anw) {
case :
case :printf("大吉"); break;
case :
case :printf("吉"); break;
case :
case :
case :printf("小吉"); break;
case :printf("末吉"); break;
case :printf("凶"); break;
case :printf("大凶"); break;
}
}
练习1-3
/* 猜数游戏(其五:显示输入记录)*/ #include <time.h>
#include <stdio.h>
#include <stdlib.h> #define MAX_STAGE 12 /* 最多可以输入的次数 */ int main(void)
{
int i;
int stage; /* 已输入的次数 */
int no; /* 读取的值 */
int ans; /* 目标数字 */
int num[MAX_STAGE]; /* 读取的值的历史记录 */ srand(time(NULL)); /* 设定随机数的种子 */
ans = rand() % -; /* 生成-999~999的随机数 */ printf("请猜一个-999~999的整数。\n\n"); stage = ;
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 = ; i < stage; i++)
printf(" %2d : %4d %+4d\n", i + , num[i], num[i] - ans); return ;
}
练习1-4
/* 猜数游戏(其五:显示输入记录)*/ #include <time.h>
#include <stdio.h>
#include <stdlib.h> #define MAX_STAGE 12 /* 最多可以输入的次数 */ int main(void)
{
int i;
int stage; /* 已输入的次数 */
int no; /* 读取的值 */
int ans; /* 目标数字 */
int num[MAX_STAGE]; /* 读取的值的历史记录 */ srand(time(NULL)); /* 设定随机数的种子 */
ans = *(rand() %)+; /* 生成3~999之间3的倍数的随机数 */ printf("请猜一个3~999的而且是3的倍数整数。\n\n"); stage = ;
do {
printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);
scanf("%d", &no);
while(no % != ) {
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 = ; i < stage; i++)
printf(" %2d : %4d %+4d\n", i + , num[i], num[i] - ans); return ;
}
/* 猜数游戏(其五:显示输入记录)*/ #include <time.h>
#include <stdio.h>
#include <stdlib.h> #define MAX_STAGE 12 /* 最多可以输入的次数 */ int main(void)
{
int i;
int stage; /* 已输入的次数 */
int no; /* 读取的值 */
int ans; /* 目标数字 */
int num[MAX_STAGE]; /* 读取的值的历史记录 */ srand(time(NULL)); /* 设定随机数的种子 */
ans = *(rand() %)+; /* 生成3~999之间3的倍数的随机数 */ printf("请猜一个3~999的而且是3的倍数整数。\n\n"); stage = ;
do {
printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);
scanf("%d", &no);
if (no % != ) {
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 = ; i < stage; i++)
printf(" %2d : %4d %+4d\n", i + , num[i], num[i] - ans); return ;
}
练习1-5
/* 猜数游戏(其五:显示输入记录)*/ #include <time.h>
#include <stdio.h>
#include <stdlib.h> int main(void)
{
int i;
int stage; /* 已输入的次数 */
int no;
int cnt=;/* 读取的值 */
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 > )
{
x /= ;
cnt++; }
cnt += ;
int num[]; /* 读取的值的历史记录 */ stage = ;
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 = ; i < stage; i++)
printf(" %2d : %4d %+4d\n", i + , num[i], num[i] - ans); return ;
}
练习1-6
/* 猜数游戏(其五:显示输入记录)*/ #include <time.h>
#include <stdio.h>
#include <stdlib.h> #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 == ){
ans = rand() % + ;
d = ;
}
if (choice == ) {
ans = rand() % + ;
d = ;
}
if (choice == ) {
ans = rand() % + ;
d = ;
}
if (choice == ) {
ans = rand() % + ;
d = ;
}
printf("请猜一个1~%d的整数。\n\n",d); stage = ;
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 = ; i < stage; i++)
printf(" %2d : %4d %+4d\n", i + , num[i], num[i] - ans); return ;
}
练习1-7
/* 猜数游戏(其五:显示输入记录)*/ #include <time.h>
#include <stdio.h>
#include <stdlib.h> #define MAX_STAGE 10 /* 最多可以输入的次数 */ int main(void)
{
int i;
int stage; /* 已输入的次数 */
int no; /* 读取的值 */
int ans; /* 目标数字 */
int num[MAX_STAGE]; /* 读取的值的历史记录 */ srand(time(NULL)); /* 设定随机数的种子 */
ans = rand() % ; /* 生成0~999的随机数 */ printf("请猜一个0~999的整数。\n\n"); stage = ;
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 = ; i < stage; i++) {
printf(" %2d : %4d ", i + , num[i]);
if(num[i] - ans==)
printf("%4d\n", num[i] - ans);
else {
printf("%+4d\n", num[i] - ans);
}
}
return ;
}
练习1-8
/* 猜数游戏(其五:显示输入记录)*/ #include <time.h>
#include <stdio.h>
#include <stdlib.h> #define MAX_STAGE 10 /* 最多可以输入的次数 */ int main(void)
{
int i;
int stage; /* 已输入的次数 */
int no; /* 读取的值 */
int ans; /* 目标数字 */
int num[MAX_STAGE]; /* 读取的值的历史记录 */ srand(time(NULL)); /* 设定随机数的种子 */
ans = rand() % ; /* 生成0~999的随机数 */ printf("请猜一个0~999的整数。\n\n"); stage = ;
i = ;
for(i=;i<MAX_STAGE;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 = ; i < stage; i++) {
printf(" %2d : %4d ", i + , num[i]);
if(num[i] - ans==)
printf("%4d\n", num[i] - ans);
else {
printf("%+4d\n", num[i] - ans);
}
}
return ;
}
明解C语言 中级篇 第一章答案的更多相关文章
- 明解C语言 入门篇 第一章答案
练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...
- 明解C语言 中级篇 第二章答案
练习2-1 /* 倒计时后显示程序运行时间 */ #include <time.h> #include <stdio.h> /*--- 等待x毫秒 ---*/ int slee ...
- 明解C语言 入门篇 第二章答案
练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...
- 明解C语言 入门篇 第九章答案
练习9-1 /* 将字符串存储在数组中并显示(其2:初始化) */ #include <stdio.h> int main(void) { char str[] = "ABC\0 ...
- 明解C语言 中级篇 第四章答案
练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...
- 明解C语言 中级篇 第三章答案
练习3-1 /* 猜拳游戏(其四:分割函数/显示成绩)*/ #include <time.h> #include <stdio.h> #include <stdlib.h ...
- 明解C语言 入门篇 第八章答案
练习8-1 #include<stdio.h> #define diff(x,y)(x-y) int main() { int x; int y; printf("x=" ...
- 明解C语言 入门篇 第十章答案
练习10-1 #include <stdio.h> void adjust_point(int*n) { ) *n = ; ) *n = 0; } int main() { int x; ...
- 明解C语言 入门篇 第五章答案
练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...
随机推荐
- ES6入门 阮一峰
ECMAScript 6 入门 http://es6.ruanyifeng.com/#README 在线ES6转ES5 https://es6console.com/k11vgg1r/
- 关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法
.Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...
- centOS服务器基本命令
1.卸载/安装mySQL:(因为我是该服务器的管理员,所以这些命令都不用在前面加sudo) yum remove mysqlyum install mysql 2.进入根目录 cd / 3.查看cen ...
- SpringBoot(六) SpringBoot整合Swagger2(自动化生成接口文档)
一:在上篇文章pom增加依赖: <dependency> <groupId>io.springfox</groupId> <artifactId>spr ...
- 区块链社交APP协议分析预告
2017年,比特币的火热,直接导致了代币市场的繁荣: 2018年,作为信用体系的未来解决方案,区块链引发了互联网原住民的淘金热. 作为风口上的引流神器,区块链技术与社交网络结合起来,产生了一系列区块链 ...
- IntelliJ IDEA UML插件
在IntelliJ IDEA Ultimate 版本中自带了一个UML插件:UMLSupport 查看了Community版本和AndroidStudio 发现没有这个插件. 要使用这个插件导出需要的 ...
- jenkins解决乱码
1.Jenkins系统设置中修改 点击左侧“系统管理”——右侧选择“系统设置”——“全局属性”,选择第一项:Environment variables,键值对列表,点击增加: 键:LANG 值:zh. ...
- [b0025] vmware_桥接网路设置
总结: 桥接 模式上外网比较简单. 缺点是每次重启虚拟机,分配的IP可能变化,导致 xshell 连接 时都要修改,很麻烦 桥接模式能不能配置静态IP ? 1. 环境 物理机网络 情况,从外部自动 ...
- 概要设计文档(final)
1. 引言部分 引言部分主要说明编写目的.系统的范围和参考资料等. 1.1目的 该文档的目的是描述“自习吧”微信小程序的概要设计,主要内容包括系统功能简介.系统结构设计.模块设计和界面设计等. 本文档 ...
- mssql sqlserver if exists 用法大汇总
摘要: 下文讲述sqlserver中,更新脚本中常用if exists关键字的用法说明,如下所示: 实验环境:sql server 2008 R2 一.检测数据库是否存在于当前数据库引擎下 if ex ...