练习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. 策略路由PBR(不含track)

    策略路由:是一种依据用户制定的策略进行路由选择的机制.(公义)在特定数据进入路由表前,对其进行操控的方式.(本人定义) 根据作用对象的不同,策略路由可分为本地策略路由和接口策略路由: · 本地策略路由 ...

  2. PyCharm 2017: Remote debugging using remote interpreter doesn't work

    I set up a remote interpreter and verified that I can run a script using the remote interpreter. Con ...

  3. 黄聪:mysql的SQL_CALC_FOUND_ROWS 使用 类似count(*) 使用性能更高

    mysql的SQL_CALC_FOUND_ROWS 使用 类似count(*) 使用性能更高 在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ... ...

  4. Python - __name__=='__main__'是干啥的,以及python -m与python的区别

    1. __name__=='__main__'是干啥的 先看例子,准备a.py和b.py放在同一个文件夹中 vi a.py # coding: utf-8 print("i am just ...

  5. TreeViewItem节点添加图标后再加header

    1.需要实现的效果如图 2.解决方案 1).给TreeViewItem中添加children,children为包含一个stackpanel,在stackpanel中包含Image和TextBlock ...

  6. 帝国CMS系统目录结构介绍

    帝国CMS目录结构介绍 / 系统根目录├d/            附件和数据存放目录 (data)│├file/       附件存放目录│├js/         JS调用生成目录│└txt/   ...

  7. XAF-从业务类继承 (XPO)

    In this lesson, you will learn how to implement business classes for your application using the Busi ...

  8. 如何通过纯javascript实现表单提交

    通常,如果是POST方法,一般使用vuejs+axios,或使用Jquery实现表单提交.有些地方,我想使用纯JS实现,比方简单的登陆跳转.话不多说,看原代码, laravel中的HTML部分,如果不 ...

  9. c# 打印的问题总结

    近期 做了一个打印的类,有一下功能: /// <summary>    /// 打印数据表格的类    /// 2016/05/19 @佳序    /// 功能:    /// 01.自动 ...

  10. linux 编译源码报错,找不到libXrender.so.1

    1.通过xshell连接到服务器编译hadoop源码得时候遇到问题, 2.使用Xshell的时候登陆后的环境变量中会比SecureCRT登陆后的环境变量多出一条 DISPLAY=localhost:1 ...