C语言RS报告生成

题目内容:无线电台的 RS 制信号报告是由三两个部分组成的:

1)R(Readability) 信号可辨度即清晰度. 

2)S(Strength) 信号强度即大小. 其中 R 位于报告第一位,共分 5 级,用 1—5 数字表示. 

1)---Unreadable

2)---Barely readable, occasional words distinguishable

3)---Readable with considerable difficulty

4)---Readable with practically no difficulty

5)---Perfectly readable

报告第二位是 S,共分九个级别,用 1—9 中的一位数字表示

1)---Faint signals, barely perceptible

2)---Very weak signals

3)---Weak signals

4)---Fair signals

5)---Fairly good signals

6)---Good signals

7)---Moderately strong signals

8)---Strong signals

9)---Extremely strong signals

现在,你的程序要读入一个信号报告的数字,然后输出对应的含义。

如读到 59,则输出:Extremely strong signals, perfectly readable. 请以字符串数组的方式来实现这个程序。

输入格式: 一个整数,信号报告。整数的十位部分表示可辨度,个位部分表示强度。

输入的整数范围是[11,59]中的个位不为 0 的数字,这个范围外的数字不可能出现在测试数据中。

输出格式:一句话,表示这个信号报告的意义。按照题目中的文字,先输出表示强度的文字,跟上逗号和空格,然后是表示可辨度的文字,跟上句号。注意可辨度的句子的第一个字母是小写的。注意这里的标点符号都是英文的。

输入样例:33

输出样例:Weak signals, readable with considerable difficulty.

#include <stdio.h>
#include <string.h>
void ReportRS(const char *RS){
    
    char Report[40];
    switch (RS[1]) {
        case '1':
            strcpy(Report,"Faint signals, barely perceptible");
            break;
        case '2':
            strcpy(Report,"Very weak signals");
            break;
        case '3':
            strcpy(Report,"Weak signals");
            break;
        case '4':
            strcpy(Report,"Fair signals");
            break;
        case '5':
            strcpy(Report,"Fairly good signals");
            break;
        case '6':
            strcpy(Report,"Good signals");
            break;
        case '7':
            strcpy(Report,"Moderately strong signals");
            break;
        case '8':
            strcpy(Report,"Strong signals");
            break;
        case '9':
            strcpy(Report,"Extremely strong signals");
            break;
        default:
            printf("输入错误\n");
            break;
    }
    printf("%s",Report);
    switch (RS[0]) {
        case '1':
            strcat(Report,",unreadable.");
            break;
        case '2':
            strcat(Report,",barely readable, occasional words distinguishable.");
            break;
        case '3':
            strcpy(Report,",readable with considerable difficulty.");
            break;
        case '4':
            strcpy(Report,",readable with practically no difficulty.");
            break;
        case '5':
            strcpy(Report,",perfectly readable");
            break;
        default:
            printf("输入错误\n");
            break;
    }
    printf("%s\n",Report);
}

int main(void) {
    char RS[2];
    printf("input RS:");
    scanf("%s",RS);
    ReportRS(RS);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值