明解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; ]; ...
随机推荐
- RST Methodology: “Responsible Tester”
翻译另一篇James Bach的关于快速软件测试的文章,原文链接:http://www.satisfice.com/blog/archives/1364 在快速软件测试方法论中,我们区分出三种主要角色 ...
- 百度API车牌识别——Restful方式
源码下载地址:https://download.csdn.net/download/redhat588/11798294 Delphi xe 10.3.2 for windows 7 环境编译通过! ...
- javaScript之基础介绍
前言一:javascript历史背景介绍 布兰登 • 艾奇(Brendan Eich,1961年-),1995年在网景公司,发明的JavaScript. 一开始JavaScript叫做LiveScri ...
- MySQL for OPS 12:锁处理
写在前面的话 在前面的内容中提到过,在以前的 MyISAM 中锁是表级锁,InnoDB 是行级锁.这个锁到底是啥样,怎么找出来,这一节就主要做这个. 定位锁的问题 上一节我们创建了一个 1000万数据 ...
- solidity定长数组和动态数组
固定长度的数组 固定长度数组声明 直接在定义数组的时候声明固定长度数组的值: uint[5] fixedArr = [1,2,3,4,5]; 可通过数组的length属性来获得数组的长度,进而进行遍历 ...
- WCF全双工通信实例分享(wsDualHttpBinding、netTcpBinding两种实现方式)
最近在研究WCF通信,如果没有接触过的可以看我的前一篇文章:https://www.cnblogs.com/xiaomengshan/p/11159266.html 主要讲的最基础的basicHttp ...
- kafka的主题与消费
同一个消费者组不能同时消费同一个分区的数据 不同分区可以消费同一组不同消费者 同一个消费者可以同时消费多个topicA的数据 Topic和consumer依赖zookeeper,producer不依赖
- 压测应用服务对RabbitMQ消息的消费能力--实践脚本
最近运维跟我反馈我负责的应用服务线上监控到消费RabbitMQ消息队列过慢,目前只有20左右,监控平台会有消息积压的告警. 开发修改了一版应用服务的版本,提交给我做压测验证. 之前没有做过消息中间件的 ...
- 常见的Web源码泄露总结
常见的Web源码泄露总结 源码泄露方式分类 .hg源码泄露 漏洞成因: hg init 的时候会生成 .hg 漏洞利用: 工具: dvcs-ripper .git源码泄露 漏洞成因: 在运行git i ...
- GBT22239-2008-等保1.0三级要求
第三级基本要求 7.1 技术要求 7.1.1 物理安全 7.1.1.1 物理位置的选择(G3) 本项要求包括: a) 机房和办公场地应选择在具有防震.防风和防雨等能力的建筑内: b) 机房场地 ...