【GPLT 一阶题目集】L1-036~L1-040

  • Post author:
  • Post category:其他



目录


L1-036 A乘以B


L1-037 A除以B


L1-038 新世界


L1-039 古风排版


L1-040 最佳情侣身高差


L1-036 A乘以B

看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值。


输入格式:

输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。


输出格式:

在一行中输出A乘以B的值。


输入样例:

在一行中输出A乘以B的值。


输出样例:

-104

#include <stdio.h>

int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d",a*b);
    return 0;
}


注意事项:

如有疑问,欢迎提出。

L1-037 A除以B

真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。


输入格式:

输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。


输出格式:

在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。


输入样例1:

-1 2


输出样例1:

-1/2=-0.50


输入样例2:

1 -3


输出样例2:

1/(-3)=-0.33


输入样例3:

5 0


输出样例3:

5/0=Error

#include <stdio.h>

int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(b>0)
        printf("%d/%d=%.2f",a,b,a*1.0/b);
    else if(b<0)
        printf("%d/(%d)=%.2f",a,b,a*1.0/b);
    else
        printf("%d/%d=Error",a,b);
    return 0;
}


注意事项:

如有疑问,欢迎提出。

L1-038 新世界

这道超级简单的题目没有任何输入。

你只需要在第一行中输出程序员钦定名言“Hello World”,并且在第二行中输出更新版的“Hello New World”就可以了。

#include <stdio.h>

int main()
{
    printf("Hello World\n");
    printf("Hello New World");
    return 0;
}


注意事项:

如有疑问,欢迎提出。

L1-039 古风排版

中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。


输入格式:

输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。


输出格式:

按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。


输入样例:

4

This is a test case


输出样例:

asa T

st ih

e tsi

ce s

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

int main()
{
    int n, col;
    scanf("%d", &n);
    getchar();
    char str[10000] = { '\0' };
    gets(str);
    int len = strlen(str);
    if (len % n == 0)
        col = len / n;
    else
        col = len / n + 1;
    int start = 0;
    for (int row = 1; row <= n; row++) //从左往右逐行输出
    {
        for (int i = start + n * (col - 1); i >= start; i -= n) //计算并找到要输出的字符,无字符则输出空格
        {
            if (str[i] == '\0')
                printf(" ");
            else
                printf("%c", str[i]);
        }
        printf("\n");
        start++;
    }
    return 0;
}


注意事项:

本题既可以从左往右逐行输出,也可以从右上角开始按路线输出,该解法用的是前者,实际上后者可能会更方便而且更好理解。

如有疑问,欢迎提出。

L1-040 最佳情侣身高差

专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。

下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。


输入格式:

输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。


输出格式:

对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。


输入样例:

2

M 1.75

F 1.8


输出样例:

1.61

1.96

#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);
    getchar();
    for (int i = 0; i < n; i++)
    {
        double h;
        char sex;
        scanf("%c %lf", &sex, &h);
        getchar();
        if (sex == 'M')
            printf("%.2f\n", h / 1.09);
        else
            printf("%.2f\n", h * 1.09);
    }
    return 0;
}


注意事项:

如有疑问,欢迎提出。



版权声明:本文为DeskOneRice原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。