请用c语言编写如下两个程序.两天之内给我1 小明收到了一封很奇怪的邮件,里面全是一些符号和数字,但是信上面给出了破译方法,具体方法如下:(1)将1变为‘A’,2变为‘B’,...,26变为‘Z’

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 13:47:41

请用c语言编写如下两个程序.两天之内给我1 小明收到了一封很奇怪的邮件,里面全是一些符号和数字,但是信上面给出了破译方法,具体方法如下:(1)将1变为‘A’,2变为‘B’,...,26变为‘Z’
请用c语言编写如下两个程序.两天之内给我
1 小明收到了一封很奇怪的邮件,里面全是一些符号和数字,但是信上面给出了破译方法,具体方法如下:(1)将1变为‘A’,2变为‘B’,...,26变为‘Z’;(2)将‘#’变为一个空格;(3)忽略‘-’,原始信件中‘-’仅仅用来分割数字.现请你编程帮助小明破译这封邮件.
2
小明是一个ACM爱好者,某天他和小伙伴们在外面玩耍,突然,他想起来今天是ACM世界总决赛的日子,而且比赛马上就要开始了,小明十分想看比赛的视频直播,于是马上掏出自己的小平板准备连WIFI看直播.现在给你小明的位置和若干WIFI热点的位置及每个热点的覆盖半径,请你判断小明所在的位置能不能连上网.
输入格式
输入包含多组测试数据.每组第一行输入一个整数n(0

请用c语言编写如下两个程序.两天之内给我1 小明收到了一封很奇怪的邮件,里面全是一些符号和数字,但是信上面给出了破译方法,具体方法如下:(1)将1变为‘A’,2变为‘B’,...,26变为‘Z’

第一题应该是输入类似:1-2#4-12-23 ,当有大于26或者除了-、#、数字以外数据时报错.

代码如下:


#include <stdio.h>

#include <string.h>


char convert(char *buf, int *site)

{

    int i;

    int number;


    number = 0;


    for (i = 0; (buf[i] != '-') && (buf[i] != '#') && buf[i] != '\0'; i++)

    {

        if (buf[i] >= '0' && buf[i] <= '9')

        {

            number *= 10;

            number += buf[i] - 48;

        } else

        {

            *site = -1;

            return ' ';

        }

    }


    *site += i;


    if (number > 26) {

        *site = -1;

        return ' ';

    }


    return (char)('A' + number - 1);

}


int main()

{

    int i, j;

    char in[100];

    char out[100];


    j = 0;

    memset(in, '\0', sizeof(in));

    memset(out, '\0', sizeof(out));


    printf("请输入信件内容:");

    scanf("%s", in);

    printf("破译前信件:%s\n", in);


    for(i = 0; in[i] != '\0'; i++)

    {

        if (in[i] >= '0' && in[i] <= '9')

        {

            out[j++] = convert(in + i, &i);

            if (i == -1) {

                printf("输入信件有误\n");

                return -1;

            }

        }


        if (in[i] == '-')

        {

            continue;

        }


        if (in[i] == '#')

        {

            out[j++] = ' ';

        }

    }


    printf("破译后信件:%s\n", out);


    return 0;

}


测试:



第二题:

#include <stdio.h>

#include <string.h>

#include <math.h>


typedef struct wifi{

float x;

float y;

float r;

}WData;


int main()

{

    int i;

    int n;

    float a, b;

    float tmp;

    WData data[100];


    while(1) {

        printf("请输入Wifi热点个数:");

        scanf("%d", &n);


        if (n < 0 || n > 100) {

            printf("输入的Wifi热点个数有误!(0~100)\n");

            return -1;

        }


        if (n == 0) {

            printf("输入结束,程序退出!\n");

            return -1;

        }



    printf("请输入Wifi热点数据,格式:x,y,r  范围:-500<=x,y<=500; 0<=r<=500\n");

    for (i = 0; i < n; i++) {

        printf("请输入第%d组数据:", i+1);

        scanf("%f,%f,%f", &(data[i].x), &(data[i].y), &(data[i].r));


    if (data[i].x < -500 || data[i].x > 500) {

        printf("输入的Wifi热点x坐标数据有误!(-500~500)\n");

        return -1;

    }

    if (data[i].y < -500 || data[i].y > 500) {

        printf("输入的Wifi热点y坐标数据有误!(-500~500)\n");

        return -1;

    }

    if (data[i].r < 0 || data[i].r > 500) {

        printf("输入的Wifi热点覆盖数据有误!(0~100)\n");

        return -1;

    }

    }


    printf("请输入PC所在坐标,格式:a,b  范围:-500<=a,b<=500\n>>");

    scanf("%f,%f", &a, &b);

    if (a < -500 || a > 500 || b < -500 || b > 500) {

        printf("输入的PC数据有误!(-500~500)\n");

        return -1;

    }


    for (i = 0; i < n; i++) {

        tmp = (data[i].x - a) * (data[i].x - a) + (data[i].y - b) * (data[i].y - b);


        if (sqrt((double)tmp) <= data[i].r) {

            printf("第%d个Wifi热点状态:YES\n", i + 1);

        } else {

            printf("第%d个Wifi热点状态:NO\n", i + 1);

        }

    }


    printf("\n");

    }


    return 0;

}

请用c语言编写如下两个程序.两天之内给我1 小明收到了一封很奇怪的邮件,里面全是一些符号和数字,但是信上面给出了破译方法,具体方法如下:(1)将1变为‘A’,2变为‘B’,...,26变为‘Z’ 葡萄牙的首都用英语怎么说?葡萄牙人说的语言用英语怎么说?请在两天之内给我答案! C语言:请编写程序,找出满足如下条件的整数m请编写程序,找出满足如下条件的整数m:(1)该数在[11,999]之内;(2) m、m2、m3均为回文数.例如m=11,m2=121,m3=1331,11、121、1331皆为回文数,故m=11是满足条 C语言程序 设计:用辗转相除法求两个正整数的最大公约数编写程序 编写一个c语言程序 求两个整数的最大公约数我只要最大公约数 下列C语言程序哪有错误?用C语言编写编写程序哪有错误? 求编写一道大一大二水平的C语言程序求编写一个大一水平的C语言程序.要求如下:1: 程序可以读取2个矩阵,A和B.2.A和B的行列数是可以让用户自定义的.3. 给A和B两个数据动态分配的空间(dynamical 用C语言编写程序:输入两个正整数m,n.求其最大公约数和最小公倍数 c语言编写程序用辗转相除法求两个正整数m和n的最大公约数 用C语言编写程序:输入两个正数m和n,求其最大公约数和最小公倍数 编写程序:输入两个整数170和25,计算并输出商和余数是用C语言编写程序的 C语言编写一个程序,实现如下功能:从键盘输入一个三位数,求各位数字之和. 用c语言编写一个求三角形面积的程序 用C语言编写一个程序:从键盘输入n(0 用c语言编写程序计算5!+10!的值 用C语言编写程序,输入一个正整数n(1 用c语言编写一个程序,输出下列雪花图案! 用C语言编写下列程序,,画红线的!