请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

明解C语言 中级篇 第一章答案

[复制链接]
查看: 93|回复: 0

8157

主题

8157

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
24481
发表于 2019-12-3 07:00 | 显示全部楼层 |阅读模式
练习1-1
  1. #include #includeint 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
  1. #include #includeint 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
  1. /* 猜数游戏(其五:表示输入记载)*/#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
  1. /* 猜数游戏(其五:表示输入记载)*/#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;}
复制代码
  1. /* 猜数游戏(其五:表示输入记载)*/#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
  1. /* 猜数游戏(其五:表示输入记载)*/#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
  1. /* 猜数游戏(其五:表示输入记载)*/#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
  1. /* 猜数游戏(其五:表示输入记载)*/#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
  1. /* 猜数游戏(其五:表示输入记载)*/#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 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;}
复制代码


免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表