王道复试机试题2024考研

本文讲述了两道涉及三位数加法与四位数反序性质的清华大学编程题目,展示了如何用C语言实现并求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

枚举:

1,清华大学上机题:abc

问题描述:设a,b,c均是0到9之间的数字,abc,bcc是两个三位数,且有:abc+bcc=522。求满足条件的所有a,b,c的值
输入描述:null
输出描述:请输出所有满足题目条件的a,b,c的值。a,b,c之间用空格隔开,每个输出占一行。
 

#include <stdio.h>  
  
int main() {  
    int a, b, c;  
  
    // 遍历a, b, c的所有可能值  
    for (a = 0; a <= 9; a++) {  
        for (b = 0; b <= 9; b++) {  
            for (c = 0; c <= 9; c++) {  
                // 计算abc和bcc的值  
                int abc = 100 * a + 10 * b + c;  
                int bcc = 100 * b + 10 * c + c;  
  
                // 检查是否满足条件  
                if (abc + bcc == 522) {  
                    printf("a = %d, b = %d, c = %d\n", a, b, c);  
                }  
            }  
        }  
    }  
  
    return 0;  
}

2,反序数

问题描述:设N是一个四位数,他得9倍恰好是其反序数(eg:1234的反序数是4321),求N的值

输入描述:null

输出描述:输出题目要求的四位数,如果结果有多组,则每组之间以回车隔开

#include <stdio.h>  

int main() {

    //遍历所有的四位数(1000-9999)。
    //对于每一个四位数,将其颠倒。
    //检查这个数的九倍是否等于颠倒后的数。
    //如果找到一个符合条件的数,就输出这个数。
   
    int N, reverse_N, temp;//整数N,反序数reserve_N,temp暂存变量

    // 1.遍历所有的四位数
    for (N = 1000; N <= 9999; N++) {   
        temp = N; // 暂存变量,temp==N  
        reverse_N = 0;

        //2.颠倒四位数   while 循环用于颠倒 temp 变量的数字,并将结果存储在 reverse_N 变量中。循环会一直执行,直到 temp 变为0

        while (temp != 0) { // while:先判断条件表达式,确认成立后执行循环体
            reverse_N = reverse_N * 10 + temp % 10;
            temp /= 10;//    等价于temp = temp / 10;
        }

        //3.判断N的九倍是否等于颠倒后的数
        if (N * 9 == reverse_N) { // 检查N的九倍是否等于颠倒后的数  
            printf("%d\n", N); // 输出找到的数字  
        }
    }
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

user_lsy666

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值