pat乙1002

2023-04-14 20:16:22 来源:哔哩哔哩

关键思路:


(资料图片)

大数输入问题1010010100 用int和long long都是远远不够的,因此用字符数组来输入,然后再转换成整数

数字与拼音的转换本题用最基本的方法,使用switch开关语句实现转换

拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。此类问题一般使用以下代码实现:

for(i=0; i < n; i++){    printf("%d", a[i]);    if(i < n-1){        printf(" ");    }    else{        printf("\n");    }}

关键点:

绝对值在 109109范围以内的整数都可以定义成int型

如果在 109109以上,在 10181018 以内用long long型来存

#include<stdio.h>

#define N 101

int main()

{

int sum=0,i=0,a[N];

char str[N];

gets(str);

while(str[i]!='\0'){

sum+=str[i]-'0';

i++;

}

i=0;

while(sum){

a[i]=sum%10;

sum=sum/10;

i++;

}

i--;

while(i>=0){

switch(a[i]){

case 0:

printf("ling");break;

case 1:

printf("yi");break;

case 2:

printf("er");break;

case 3:

printf("san");break;

case 4:

printf("si");break;

case 5:

printf("wu");break;

case 6:

printf("liu");break;

case 7:

printf("qi");break;

case 8:

printf("ba");break;

default:

printf("jiu");

}

if(i>0){

printf(" ");

}

else{

printf("\n");

}

i--;

}

return 0;

}

关键词:

推荐内容