使用函数将数字转化成字符串

 一、问题

编写函数将整数k变换为一个字母串,规则如下:设0对应A,1对应B,......,25对应Z。从左向右考察k的各位数字,若连续两位对应上面一种变换,则直接换掉两位数字,否则一位数字换成对应的字母。变换结果存入res反馈给调用者。函数原型为:
void DigiTran( int k, char res[] );

在主函数输入一些非负整数,最后输入-1代表结束,利用上面函数对每个数字变换后输出。

示例输入:(数字间空一格)
12 3925 0 -1

示例输出:(每个字符串后面空一格)
M DJZ A

二、代码

#include <stdio.h>

// 函数名称:DigiTran
// 函数功能:将整数k变换为一个字母串
// 参数:int k(要转换的整数),char res[](存储转换结果的字符数组)
void DigiTran(int k, char res[]);

int s;

int main() {
    while (scanf("%d", &s)) {  // 循环读入整数
        if (s == -1) {  // 如果读入数字为-1,则退出循环
            return 0;
        }
        char res[233];  // 存储结果的字符数组
        DigiTran(s, res);  // 调用DigiTran函数进行转换
        printf("%s ", res);  // 输出转换结果
    }
}

// 函数名称:ws
// 函数功能:获取一个整数的位数
// 参数:int a(要获取位数的整数)
int ws(int a) {
    int ans = 0;
    while (a) {  // 当a不为0时继续循环
        ans++;
        a /= 10;  // 每次除以10,向下取整
    }
    return ans;  // 返回位数
}

void DigiTran(int k, char res[]) {
    int rr[233];
    if (k == 0) {  // 如果k为0,直接将res赋值为A
        res[0] = 'A';
        res[1] = '\0';  // 字符串结尾
        return;  // 直接返回
    }
    int n = ws(k);  // 获取k的位数
    for (int i = 0; i < n; i++) {
        rr[n - i - 1] = k % 10;  // 将k的每一位存入数组rr中
        k /= 10;
    }
    // rr 为将数组拆解为一位一位的数组
    int ki = 0;  // 标识res的位数
    for (int i = 0; i < n; i++) {
        if (i == n - 1) {  // 如果已经到达最后一位
            res[ki++] = rr[i] + 'A';  // 将当前位转换为字母后存入res中
            continue;  // 直接进行下一轮循环
        }
        int ls = rr[i] * 10 + rr[i + 1];  // 计算当前位和下一位组成的数字
        // 如果两位数字合条件
        if (ls >= 10 && ls <= 25) {
            res[ki++] = ls + 'A';  // 将两位数字转换为字母后存入res中
            i++;  // 因为处理了两个数字,所以i需要加1
        } else {  // 如果不符合条件,只用一个数字进行转换
            res[ki++] = rr[i] + 'A';  // 将当前位转换为字母后存入res中
        }
    }
    res[ki] = '\0';  // 添加字符串结尾
}

三、tips

特斯拉热泵系统是一种采用空气源热泵技术的暖通设备,用于供暖和热水。热泵系统的主要组成部分包括压缩机、冷凝器、膨胀阀和蒸发器。 特斯拉热泵系统的压缩机负责将低温低压的制冷剂压缩成高温高压的制冷剂。压缩机的工作需要较大的电力持,因此系统需要连接供电。 冷凝器是热泵系统中的一个重要组件,它能够将制冷剂释放的热量传递到室内环境中,从而起到加热的作用。特斯拉热泵系统的冷凝器通常采用铜管和铝翅片制成,以增加散热效果。 膨胀阀是调节制冷剂流量的关键部件。它可以降低制冷剂的温度和压力,使其进入蒸发器,进一步吸收热量。 蒸发器是热泵系统中的另一个重要组成部分,它通过吸收室内空气的热量,从而起到制热的作用。特斯拉热泵系统的蒸发器通常采用铜管和铝翅片制成,以增强热交换效果。 除了以上主要组成部分,特斯拉热泵系统还包括电子控制器、传感器和管道系统等。电子控制器负责监控和控制热泵系统的运行,传感器能够感知室内外温度和湿度等参数,并传输给控制器,以便进行合适的调节。 特斯拉热泵系统的拆解需要进行仔细操作,以避免损坏系统中的部件。同时,还需要具备相关的技术知识和经验。在拆解过程中,应先断开电源,然后逐步拆除各个组件,并注意保护管道系统,防止制冷剂外漏。 总而言之,特斯拉热泵系统是一种先进的供暖和热水设备,拆解时需要小心谨慎,以确保不损坏系统,并避免制冷剂的泄漏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值