练习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语言 中级篇 第一章答案的更多相关文章

  1. 明解C语言 入门篇 第一章答案

    练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...

  2. 明解C语言 中级篇 第二章答案

    练习2-1 /* 倒计时后显示程序运行时间 */ #include <time.h> #include <stdio.h> /*--- 等待x毫秒 ---*/ int slee ...

  3. 明解C语言 入门篇 第二章答案

    练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...

  4. 明解C语言 入门篇 第九章答案

    练习9-1 /* 将字符串存储在数组中并显示(其2:初始化) */ #include <stdio.h> int main(void) { char str[] = "ABC\0 ...

  5. 明解C语言 中级篇 第四章答案

    练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...

  6. 明解C语言 中级篇 第三章答案

    练习3-1 /* 猜拳游戏(其四:分割函数/显示成绩)*/ #include <time.h> #include <stdio.h> #include <stdlib.h ...

  7. 明解C语言 入门篇 第八章答案

    练习8-1 #include<stdio.h> #define diff(x,y)(x-y) int main() { int x; int y; printf("x=" ...

  8. 明解C语言 入门篇 第十章答案

    练习10-1 #include <stdio.h> void adjust_point(int*n) { ) *n = ; ) *n = 0; } int main() { int x; ...

  9. 明解C语言 入门篇 第五章答案

    练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...

随机推荐

  1. win10下mysql5.7的安装与配置

    Win10下MySql5.7的安装与配置 下载 官网下载地址 选择免安装版即可, 解压 将下载的压缩包解压到你想要放置MySQL的目录,避免中文空格. 示例:D:\devtools\mysql-5.7 ...

  2. Mac设置su root密码

    转自:https://blog.csdn.net/maxsky/article/details/44905003  大家都知道在 Linux 下,执行 su 命令后输入密码即可切换到 root 用户执 ...

  3. python基础(23):面向过程与面向对象的优劣、初识面向对象

    1. 面向过程与面向对象的优劣 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程 ...

  4. python基础(15):内置函数(一)

    1. 内置函数 什么是内置函数? 就是python给你提供的,拿来直接⽤的函数,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68个内置函数.他们就是pyth ...

  5. HTTP协议中的Range和Content-Range

    " 琢磨HTTP协议的每一个细节." HTTP协议博大精深,每一个细节都应细细体会. 否则,在协议还原的过程中,你会遇到各种问题. 今天,本文中将对HTTP协议的Range和Con ...

  6. 使用Fiddler抓取手机HTTP流量包

    - PC端配置 设置允许远程连接. - PC端共享上网 需要在PC上进行手机抓包,必须使手机流量经过PC,在文章<简单两行,实现无线WiFi共享上网,手机抓包再也不用愁了>中介绍了如何在P ...

  7. iOS音频与视频的开发(一)-使用AVAudioPlayer播放音乐、使用AVPlayerViewController播放视频

    iOS的多媒体支持非常强大,它提供了多套支持多媒体的API,无论是音频.视频的播放,还是录制,iOS都提供了多种API支持.借助于这些API的支持,iOS应用既可以查看.播放手机相册中的照片.视频,也 ...

  8. swift个人总结

    最近iOS10 已经开始正式使用,研究使用了swift3.0,将一些总结记录于此,以便以后查阅.持续更新中. swift中一般将一些功能相近的方法写在同一个延展中,便于代码的规范,找起来也方便.区别o ...

  9. tomcat配置通过域名访问项目

    tomcat配置通过域名访问项目,是修改conf/server.xml里面的配置信息实现.具体如下: (1)修改Connector节点的port属性值 <Connector port=" ...

  10. [日常] 跨语言的POST请求问题的解决

    部门对外提供了一个HTTP的POST接口,但是对方公司的程序员使用C语言进行的调用,PHP这边一直无法获取到参数.遇到这种情况是因为对方没有完全按照HTTP协议中的POST发送数据.在HTTP头部分没 ...