聚餐吃什么| 虾仁和什么包饺子好吃| 腰椎膨出是什么意思| 为什么做春梦| 小儿风寒感冒吃什么药最好| 风疹吃什么药好得快| 英语什么时候学最好| amount是什么意思| 夜尿多吃什么药效果好| 扁桃体结石有什么症状| 甘油三酯高吃什么降得快| 87岁属什么生肖| 蓝莓是什么颜色| 北京市副市长是什么级别| 支原体阳性是什么意思| 见利忘义是什么意思| 为什么广西女孩子好娶| us检查是什么意思| 什么是抗氧化| 彩铃是什么意思| 吃什么补血小板效果最好| 一九三九年属什么生肖| 煮花生放什么调料| 甲减的原因是什么引起的| 哈库呐玛塔塔什么意思| 肾虚吃什么中成药| 小白脸什么意思| 什么时候血压最高| 青岛有什么山| 过敏性咳嗽吃什么药| 乞巧节是什么节| 喉部有异物感是什么病| 中医行业五行属什么| 大寒吃什么| 没字去掉三点水念什么| 医院附近适合做什么生意| 低血糖中医叫什么病| 梦见洗头是什么预兆| 脂肪肝什么症状| 介入科是什么科室| 脂膜炎是什么病严重吗| 两个克念什么| 鱼肝油有什么功效| 苍龙七宿的秘密是什么| 排档是什么意思| 小麦是什么粮食| 帆布是什么材质| 43是什么意思| menu是什么意思| 养尊处优的意思是什么| 喝柠檬水有什么好处和坏处| 异性缘是什么意思| esse是什么牌子的烟| 什么中毒查不出来| 砧木是什么意思| 为什么会莫名其妙的哭| 白凉粉是什么东西| 女人脑供血不足吃什么| 脚底红润是什么原因| 晚上喝牛奶有什么好处| 天冬是什么| 港澳通行证签注是什么意思| 小儿消化不良吃什么药最好| 胃火重口臭吃什么药好| 例假来的是黑色的是什么原因| 印度为什么叫阿三| 排卵日是什么时候| 淡然自若的意思是什么| 月经期间应该吃什么食物比较好| 蜂蜜是什么糖| 大道无为是什么意思| 爱思是什么| 血管瘤有什么危害| 做b超憋尿要憋到什么程度| 胃糜烂和胃溃疡有什么区别| 吃什么治拉肚子| 主观臆断是什么意思| 萎缩性胃炎可以吃什么水果| 小孩吃指甲是什么原因造成的| 老年人吃什么| david是什么意思| 胃胀什么原因| 小孩老是发烧什么原因| 胎盘有什么用| 乳房疼挂什么科| 脚趾甲发白是什么原因| 月经期间适合吃什么水果| 内径是什么意思| 次心念什么| 失策是什么意思| 睡觉天天做梦是什么原因| 为什么心慌| 静脉曲张吃什么药最好| 引产和流产有什么区别| 狗尾续貂什么意思| 呼吸机vt代表什么| 龙和什么属相最配| 早搏是什么| 抱大腿什么意思| 大学院长是什么级别| 白切鸡用什么鸡| 爱是什么| 尿素测定是查什么| 喝什么茶可以降尿酸| ana谱是查什么病的| 什么叫品牌| 蚯蚓吃什么食物| 男人额头有痣代表什么| 91视频是什么| 女人阳虚吃什么药效果最好| 风疹病毒是什么意思| 凉席什么材质好| 绝技是什么意思| 梨子是什么季节的水果| 晴空万里什么意思| 吃什么水果能变白| 食之无味什么意思| 薤白是什么东西| 什么蛋不能吃| 芥菜是什么菜| 部长助理是什么级别| 吃什么食品减肥| 6月是什么星座| 属虎和什么属相相冲| 翡翠属于什么五行| classy是什么意思| 听什么音乐容易入睡| 痔疮看什么科室| 傍晚是什么时辰| 福禄寿的禄是什么意思| 赛字五行属什么| 拉肚子挂什么科| 导管是什么| a216是什么材质| 戏是什么生肖| 什么是| 仓鼠和老鼠有什么区别| 第三代身份证什么时候开始办理| 唉声叹气是什么意思| 孕晚期缺铁对胎儿有什么影响| 金牛座是什么象星座| 太阳最后会变成什么| 为什么做梦| 1.19是什么星座| 内敛什么意思| 梦见吃药是什么意思| 话少一般都是什么人| 什么是复句| 败血症是什么病| 刚开始怀孕会有什么症状| 做梦梦到怀孕了是什么意思| 男人小腹疼痛是什么原因| m的意思是什么| 梦到前任预示着什么| 柠檬有什么功效和作用| 灰指甲医院挂什么科| 真菌性龟头炎用什么药| 暂住证办理需要什么材料| 88年属龙的是什么命| 手镯断了有什么预兆| 手指缝痒是什么原因| 1893年属什么生肖| 5月22号是什么星座| 征求是什么意思| 什么是dna| 密度单位是什么| 谭咏麟属什么生肖| 王菲什么星座| 震撼是什么意思| 回族不能吃什么肉| 画龙点睛是什么意思| 幽门杆菌吃什么药| 川崎病有什么症状| 美满霉素又叫什么名字| 一什么篮子| 岁月蹉跎是什么意思| 什么品牌的母婴用品好| 长期喝饮料对身体有什么危害| 门庭冷落是什么意思| dm表示什么单位| 猫的胡子有什么作用| 本是同根生相煎何太急是什么意思| 天秤座什么象| 人为什么会做梦| 发热门诊属于什么科| 昂热为什么认识路鸣泽| 福相是什么意思| 蛋白质是由什么组成的| 六月六吃什么| 商鞅变法是什么时期| 揩是什么意思| 去医院看肛门挂什么科| 煮花生放什么调料好吃| 一个口一个坐念什么| 经常困想睡觉是什么问题| 火鸡是什么鸡| 麻批是什么意思| 什么动物有三个心脏| 嗣子是什么意思| 再三的意思是什么| 中宫是什么意思| o型血可以接受什么血型| 上海的市花是什么| 想吃咸的是身体缺什么| 梦见家里着火了是什么征兆| 金多水浊什么意思| 小孩口臭吃什么药效果最好| 四大天王是什么生肖| 穷书生是什么生肖| 喝酒后呕吐是什么原因| 一什么手表| 脂溢性脱发是什么原因引起的| 5月10日什么星座| 第二名叫什么| 乳腺结节钙化是什么意思| 壑是什么字| 94年属什么| 梅花三弄的三弄指什么| 中医的精髓是什么| 属狗适合佩戴什么饰品| 输尿管结石挂什么科| cdfi是什么意思| 量程是什么| 吃维生素b6有什么好处和副作用| 五行属木缺什么| 梦见下大雨是什么征兆| 杨梅泡酒有什么功效和作用| 较真的人是什么性格| 腹水是什么症状| 叶酸对人体有什么好处| 吃什么不升血糖| 韩国烧酒什么味道| 阄是什么意思| 同型半胱氨酸高挂什么科| 全麦是什么| 打开什么| 拉屎不成形是什么原因| 防蓝光是什么意思| 膛目结舌是什么意思| 总三萜是什么| 鼻子上长脓包型痘痘是什么原因| 安痛定又叫什么名字| 胃痛吃什么药最有效| 山东特产是什么生肖| 乙肝五项第二项阳性是什么意思| 便秘吃什么药没有依赖性| 排斥是什么意思| 近视和远视有什么区别| 属狗男和什么属相最配| 常吃黑芝麻有什么好处和坏处| 庙是什么意思| 1995属什么| 经络是什么| 11月28是什么星座| 办理住院手续需要带什么证件| 什么是肺部磨玻璃结节| 为什么不爱我| 冰瓷棉是什么面料| 喝酸奶有什么好处| 开五行属性是什么| 喝冰水牙疼是什么原因| 脉压差小是什么原因| 拉肚子看什么科| 鸡头米是什么| 百度

金刚经讲的是什么

#王者杯·14天创作挑战营·第4期#

1.输入一个整数并按逆序输出

  1. 输入整数:使用?scanf?读取用户输入的整数。
  2. 处理数字:使用循环和取模(%)、整除(/)操作来逐位提取数字,打印逆序后的数字。
百度 LVMH旗下拥有真力时(Zenith)、宇舶表(Hublot)和泰格豪雅(TagHeuer)等手表品牌。
#include <stdio.h>

int main() {
    int num;
    printf("请输入一个整数: ");
    scanf("%d", &num);

    // 处理负数
    if (num < 0) {
        printf("-");
        num = -num; // 转为正数
    }

    // 处理 0 的特殊情况
    if (num == 0) {
        printf("0\n");
        return 0;
    }

    // 循环打印每一位(逆序)
    while (num != 0) {
        printf("%d", num % 10); // 直接打印最后一位
        num = num / 10;         // 去掉最后一位
    }
    printf("\n"); // 换行

    return 0;
}

验证输入1000,和-123 的结果?

?

?2.允许用户最多输入三次用户名和密码,判断是否与预设的值匹配。

  1. 核心逻辑

    • 使用?while?循环控制最多三次输入机会。
    • 使用?strcmp()?函数比较字符串(用户名和密码)。
    • 使用?login_success?标志判断是否成功登录。
#include <stdio.h>
#include <string.h> // 用于 strcmp 函数

#define MAX_ATTEMPTS 3
#define USERNAME_MAX_LEN 50
#define PASSWORD_MAX_LEN 50

// 预设的正确用户名和密码 (在实际应用中,密码不应明文存储)
#define CORRECT_USERNAME "admin"
#define CORRECT_PASSWORD "123456"

int main() {
    char username[USERNAME_MAX_LEN];
    char password[PASSWORD_MAX_LEN];
    int attempts = 0;
    int loginSuccess = 0; // 标志位,0表示未成功,1表示成功

    printf("欢迎登录系统!\n");
    printf("您有 %d 次尝试机会。\n", MAX_ATTEMPTS);

    // 最多循环 MAX_ATTEMPTS 次
    while (attempts < MAX_ATTEMPTS) {
        attempts++;
        printf("\n第 %d 次尝试:\n", attempts);

        // 输入用户名
        printf("请输入用户名: ");
        // 使用 fgets 读取一行,包括空格,并自动在末尾添加 '\0'
        // 注意:fgets 会读取换行符 '\n',需要手动去除
        if (fgets(username, sizeof(username), stdin) != NULL) {
            // 去除可能读取到的换行符
            size_t len = strlen(username);
            if (len > 0 && username[len - 1] == '\n') {
                username[len - 1] = '\0';
            }
        } else {
            // 输入错误,例如 EOF
            printf("输入错误!程序退出。\n");
            return 1;
        }

        // 输入密码
        printf("请输入密码: ");
        if (fgets(password, sizeof(password), stdin) != NULL) {
            size_t len = strlen(password);
            if (len > 0 && password[len - 1] == '\n') {
                password[len - 1] = '\0';
            }
        } else {
            printf("输入错误!程序退出。\n");
            return 1;
        }

        // 使用 strcmp 比较字符串
        // strcmp 返回 0 表示两个字符串相等
        if (strcmp(username, CORRECT_USERNAME) == 0 && strcmp(password, CORRECT_PASSWORD) == 0) {
            printf("登录成功!欢迎, %s!\n", username);
            loginSuccess = 1; // 设置成功标志
            break; // 跳出循环
        } else {
            printf("用户名或密码错误!");

            // 如果不是最后一次尝试,提示剩余次数
            if (attempts < MAX_ATTEMPTS) {
                printf(" 还有 %d 次机会。\n", MAX_ATTEMPTS - attempts);
            } else {
                printf(" 您已用完所有尝试机会。\n");
            }
        }
    }

    // 循环结束后,检查是否成功登录
    if (!loginSuccess) {
        printf("登录失败!系统已锁定或退出。\n");
    }

    return 0;
}
  1. 输入处理

    • 使用?fgets?而不是?scanf("%s", ...)fgets?可以安全地读取包含空格的字符串,并且能防止缓冲区溢出(因为它会限制读取的字符数)。
    • fgets?会将用户输入的换行符?\n?也读入字符串。因此,需要检查字符串末尾是否有?\n,如果有就用?\0?替换它,以正确终止字符串。
  2. 字符串比较

    • 使用?strcmp?函数比较两个字符串。如果两个字符串完全相同,strcmp?返回 0。

?3.100块钱换成50,20,10,5块的零钱有多少种方法

解题思路:

  • 设50元纸币的数量为?a
  • 设20元纸币的数量为?b
  • 设10元纸币的数量为?c
  • 设5元纸币的数量为?d

我们需要满足:

50a + 20b + 10c + 5d = 100

a, b, c, d 都是非负整数(即 ≥ 0)。

#include <stdio.h>

int main() {
    int amount = 100;
    int d50, d20, d10, d5; // 分别表示50,20,10,5元的数量
    int combination = 0;   // 组合计数

    printf("所有可能的换零钱方式:\n");

    // 枚举50元的数量(最多2张)
    for (d50 = 0; d50 <= amount / 50; d50++) {
        // 枚举20元的数量(基于剩余金额)
        for (d20 = 0; d20 <= (amount - d50 * 50) / 20; d20++) {
            // 枚举10元的数量
            for (d10 = 0; d10 <= (amount - d50 * 50 - d20 * 20) / 10; d10++) {
                // 计算5元的数量
                d5 = (amount - d50 * 50 - d20 * 20 - d10 * 10) / 5;

                // 检查是否正好兑换完(即余数为0)
                if (d5 * 5 == amount - d50 * 50 - d20 * 20 - d10 * 10) {
                    combination++;
                    printf("%d: 50元×%d, 20元×%d, 10元×%d, 5元×%d\n",
                           combination, d50, d20, d10, d5);
                }
            }
        }
    }

    printf("总共 %d 种换法。\n", combination);

    return 0;
}

4. 输入1-12数字,显示对应月份,和月份缩写

#include <stdio.h>

int main() {
    // 定义月份名称和缩写的数组
    const char* monthNames[] = {
        "January",   "February", "March",    "April",
        "May",       "June",     "July",     "August",
        "September", "October",  "November", "December"
    };

    const char* monthAbbreviations[] = {
        "Jan", "Feb", "Mar", "Apr",
        "May", "Jun", "Jul", "Aug",
        "Sep", "Oct", "Nov", "Dec"
    };

    int month;

    printf("请输入一个月份数字 (1-12): ");
    if (scanf("%d", &month) != 1) {
        printf("输入错误!请输入一个有效的数字。\n");
        return 1;
    }

    // 检查输入的数字是否在有效范围内
    if (month < 1 || month > 12) {
        printf("错误:月份数字必须在 1 到 12 之间!\n");
        return 1;
    }

    // 注意:数组索引从 0 开始,所以月份 1 对应索引 0
    int index = month - 1;

    // 输出结果
    printf("月份 %d 对应的完整名称是: %s\n", month, monthNames[index]);
    printf("月份 %d 对应的缩写名称是: %s\n", month, monthAbbreviations[index]);

    return 0;
}
  1. 数组定义

    • monthNames[]: 一个字符串指针数组,存储了 12 个月份的完整英文名称。
    • monthAbbreviations[]: 另一个字符串指针数组,存储了 12 个月份的三字母缩写。
    • 使用?const char*?类型,因为这些字符串是常量,不应被修改。
  2. 输入处理

    • 使用?scanf("%d", &month)?读取用户输入的整数。
    • 检查?scanf?的返回值(应为 1),以确保输入的是一个有效的整数。如果输入非数字(如字母),scanf?会失败,返回值不为 1。

?5.机选一注双色球

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

#define RED_BALLS 6   // 红球数量
#define RED_MAX 33    // 红球最大号码
#define BLUE_MAX 16   // 蓝球最大号码

// 生成不重复的随机数(用于红球)
int generateUniqueRandom(int* used, int count, int max) {
    int num;
    do {
        num = rand() % max + 1; // 生成 1 到 max 的随机数
    } while (used[num]); // 如果这个数已经被使用过,重新生成

    used[num] = 1; // 标记这个数已被使用
    return num;
}

// 简单的冒泡排序(将红球按从小到大排序)
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    // 初始化随机数种子,确保每次运行结果不同
    srand((unsigned int)time(NULL));

    int redBalls[RED_BALLS]; // 存储红球号码
    int used[RED_MAX + 1] = { 0 }; // 标记红球号码是否已使用(索引0不用)
    int blueBall; // 存储蓝球号码

    printf("机选双色球号码:\n");

    // 生成6个不重复的红球
    
    for (int i = 0; i < RED_BALLS; i++) {
        redBalls[i] = generateUniqueRandom(used, i, RED_MAX);
    }
    // 打印红球(未排序)
    printf("生成的红球红球:");
    for (int i = 0; i < RED_BALLS; i++) {
        printf("%02d ", redBalls[i]); // %02d 确保输出两位数,不足前面补0
    }
    printf("\n\n\n红球:");
    // 将红球按从小到大排序
    bubbleSort(redBalls, RED_BALLS);

    // 打印红球
    for (int i = 0; i < RED_BALLS; i++) {
        printf("%02d ", redBalls[i]); // %02d 确保输出两位数,不足前面补0
    }

    // 生成蓝球(可以重复,但双色球规则蓝球独立于红球,所以直接生成1-16即可)
    blueBall = rand() % BLUE_MAX + 1;

    // 打印蓝球
    printf("  蓝球:%02d\n", blueBall);

    printf("祝您好运!\n");
    //memset 是 C 标准库函数(<string.h>),用于将一块内存区域设置为特定的值
    memset(used, 0, sizeof(used));
    size_t c = sizeof(used) / sizeof(used[0]);
    for (int i = 0; i < c; i++) {
        printf("%02d ", used[i]); // %02d 确保输出两位数,不足前面补0
    }

    return 0;
}

  1. 随机数生成

    • 使用?srand(time(NULL))?初始化随机数种子,确保每次运行程序产生的随机序列不同。
    • 使用?rand()?函数生成随机数。
  2. 红球生成

    • 使用?generateUniqueRandom?函数确保生成的6个红球号码不重复
    • 该函数使用一个布尔数组?used?来跟踪哪些号码已经被选中。如果生成的随机数已被使用,则重新生成,直到得到一个未使用的号码。
  3. 排序

    • 使用简单的冒泡排序算法?bubbleSort?将生成的6个红球号码按从小到大的顺序排列,符合彩票公布号码的惯例。
  4. 蓝球生成

    • 蓝球是从1-16中独立选择的,与红球号码是否重复无关(规则允许红球和蓝球号码相同,但通常分开看待)。这里直接生成一个1-16之间的随机数。
  5. 格式化输出

    • 使用?%02d?格式化输出,确保号码显示为两位数(例如,5?显示为?05),看起来更整齐。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chxii

小小打赏,大大鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
肾气虚吃什么中成药 例假期间吃什么食物好 无花果什么品种最好吃 后羿射日是什么意思 cream什么意思
木丑念什么 姝姝是什么意思 鲽鱼是什么鱼 肚脐下方硬硬的是什么 苍鹰是什么意思
小姐的全套都有什么 口且念什么 调节肠道菌群吃什么药 肺纤维化是什么意思 0点是什么时辰
五音不全是什么意思 两岁宝宝不开口说话是什么原因 闪点什么意思 何五行属什么 梦到好多小蛇是什么意思
布施什么意思hcv8jop4ns1r.cn 办护照需要什么条件hcv8jop2ns3r.cn 子宫钙化灶是什么意思hcv8jop0ns4r.cn 乳糖不耐受是什么意思hcv7jop6ns7r.cn 双肺结节是什么意思mmeoe.com
老年人经常头晕是什么原因造成的hcv8jop2ns4r.cn 2月7号什么星座zhongyiyatai.com 艾滋病吃什么药liaochangning.com 腿麻木是什么原因引起的hcv8jop8ns8r.cn 学名是什么意思xinmaowt.com
母亲o型父亲b型孩子是什么血型hcv8jop4ns0r.cn 跳蚤咬了擦什么药hcv8jop6ns6r.cn 阿拉蕾什么意思hcv9jop2ns4r.cn 赵云的坐骑是什么马hcv8jop0ns9r.cn 千人千面是什么意思hcv8jop1ns2r.cn
头发沙发是什么意思hcv8jop1ns2r.cn 欢喜冤家是什么意思hcv9jop1ns7r.cn 癔症是什么0297y7.com 乳腺增生不能吃什么hcv8jop0ns5r.cn 白细胞加号什么意思gangsutong.com
百度