欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

『ACM C++』 PTA 天梯赛练习集L1 | 007-0011

程序员文章站 2022-10-06 23:37:37
真的是忙头晕了,学业、ACM打题、班级活动、自学新东西,哇这充实的大学~ L1-007 念数字 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ......

  真的是忙头晕了,学业、acm打题、班级活动、自学新东西,哇这充实的大学~

 

------------------------------------------------l1-007----------------------------------------------------------

念数字

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

输入格式:

输入在一行中给出一个整数,如:1234

提示:整数包括负数、零和正数。

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si

输入样例:

-600

输出样例:

fu liu ling ling

------------------------------------------------l1-007----------------------------------------------------------

注:水题,熟练使用字符指针数组就没有问题了。如这里的:const char* proun[10] = { "ling", "yi", "er", "san","si","wu","liu","qi","ba","jiu" };

#include<stdio.h>
#include<string.h>
#include<string>
using namespace std;
const char* proun[10] = { "ling", "yi", "er", "san","si","wu","liu","qi","ba","jiu" };
char input[999999];
int length;
int main()
{
    scanf("%s",&input);
    length = strlen(input);
    for(int i = 0;i<length;i++)
    {
        if(input[i] == '-') printf("fu");
        else printf(proun[input[i] - '0']);
        if(i!=length-1) printf(" ");
        else printf("\n");
    }
    return 0;
}

 

 

------------------------------------------------l1-008----------------------------------------------------------

求整数段和

给定两个整数a和b,输出从a到b的所有整数以及这些数的和。

输入格式:

输入在一行中给出2个整数a和b,其中100ab100,其间以空格分隔。

输出格式:

首先顺序输出从a到b的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按sum = x的格式输出全部数字的和x

输入样例:

-3 8

输出样例:

   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
sum = 30

------------------------------------------------l1-008----------------------------------------------------------

注解:水题,一个循环带过

#include<stdio.h>

int a,b,counter,sum;
int main()
{
    scanf("%d%d",&a,&b);
    counter = sum = 0;
    for(int i = a;i<=b;i++)
    {
        sum+=i;
        if(counter == 5)
        {
            counter = 0;
            printf("\n");
        }
        printf("%5d",i);
        counter++;
    }
    printf("\nsum = %d\n",sum);
    return 0;
}