‘壹’ 求如何编写一个念数字程序(c语言)
先定义好拼音,在根据数据处理;
n%m
n/m得到每个数;
1-9对应一个拼音;
当为一个数字时,直接输出对应拼音;
当为2位数据时,分别得到十位和个位输出就行了呀;
‘贰’ C语言 念数字 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字
你的程序有很多不对的地方,没必要用数组,多次的getchar();也不知道是干啥的,我写一个程序贴给你看看吧,有问题再问。
#include<stdio.h>
void judge_num(int num);
void split_num(int num);
int main()
{
int num=0;
printf("请输入一个整数:");
scanf("%d",&num);
if(num<0)
{
printf("fu ");
num=-num;
}
split_num(num);
printf(" ");
return 0;
}
void judge_num(int num)
{
switch(num)
{
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;
case 9: printf("jiu "); break;
}
}
void split_num(int num)
{
int n;
if((n=num/10)!=0)
split_num(n);
judge_num(num%10);
}
‘叁’ c语言读整数
#defineN10000
charstr[N];
char*func1(charx)
{
switch(x)
{
case'1':
{
return"yi";
}
break;
case'2':
{
return"er";
}
break;
case'3':
{
return"san";
}
break;
case'4':
{
return"si";
}
case'5':
{
return"wu";
}
case'6':
{
return"liu";
}
case'7':
{
return"qi";
}
case'8':
{
return"ba";
}
case'9':
{
return"jiu";
}
case'0':
{
return"ling";
}
break;
}
}
voidfunc(char*x)
{
intk;
for(k=0;k<strlen(x);k++)
{
printf("%s",func1(x[k]));
}
}
voidmain()
{
while(1)
{
scanf("%s",&str);
func(str);
}
}