求如何编写一个念数字程序(c语言)

问题如下:
编写一个念数字程序,当输入一个整数n(大于等于0,小于等于99),计算机就输入这个整数的汉语拼音,若输入的数不合要求,计算机输入"CUO WU"
如:87
BA SHI QI

#include <stdio.h>

void re(int a)
{
char *b[]={"shi","yi","er","san","si","wu","liu","qi","ba","jiu"};
if (a==0)
printf("ling");
else if (a<10)
printf("%s",b[a]);
else if (a==10)
printf("%s",b[0]);
else if (a<20)
printf("%s %s",b[0],b[a%10]);
else if (!(a%10))
printf("%s %s",b[a/10],b[0]);
else
printf("%s %s %s",b[a/10],b[0],b[a%10]);

putchar('\n');
}

int main(int argc, char* argv[])
{
int a;

scanf("%d",&a);

if (a<100&&a>=0) re(a);
else printf("CUO WU\n");
system("pause");
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-08-07
先定义好拼音,在根据数据处理;
n%m
n/m得到每个数;
1-9对应一个拼音;
当为一个数字时,直接输出对应拼音;
当为2位数据时,分别得到十位和个位输出就行了呀;
第2个回答  2007-08-07
Include<stdio.h>
void main ()
{
int n;
scanf("%d",&n);
switch(n)
{ case:0 printf("LING") break;
case:1 printf("YI") break;
.
.
.
.
.
.
case:99 printf("JIU SHI JIU") break;
defualt printf("CUO WU") break;
}
}

求如何编写一个念数字程序(c语言)
void re(int a){ char *b[]={"shi","yi","er","san","si","wu","liu","qi","ba","jiu"};if (a==0)printf("ling");else if (a<10)printf("%s",b[a]);else if (a==10)printf("%s",b[0]);else if (a<20)printf("%s %s",b[0],b[a%10]);else if (!(a...

C语言 念数字 输入一个整数,输出每个数字对应的拼音。当整数为负数时...
你的程序有很多不对的地方,没必要用数组,多次的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...

C语言 念数字?
根据num[0]指向“ling”,num[1]指向“yi”,num[2]指向“er”……这样可以通过num[i],很方便地找到对应的数字i的汉语拼音。3、str[0]-'0'是什么意思?先看str[0]是什么,它是你输入的整数的第一个数字,比如它是3,在这里程序是把3当作字符'3'处理的(原因...

c语言念整数,我编的程序怎么去除前面输出的0.程序如下.(dve c++ 5....
可以设置一个标志:只有输出了非零数据以后再遇到0才输出"ling"。具体做法:前面加语句:int f=0;switch语句之前加语句:if(n!=0)f=1;后面的case 0分支改为:case 0 :if(f==1)printf("ling ");break;

怎样用C语言编写如下程序:将四个数字从小到大的顺序输出
printf("请输入4个数:");for ( i = 0; i < 4; i++ )scanf("%d", &a[ i ]);for ( i = 0; i < 4; i++ ){ k = i;for ( j = i + 1; j < 4; j++ )if ( a[ k ] > a[ j ] ) k = j;tmp = a[ k ];a[ k ] = a[ i ];a[ i ] = tmp;} ...

帮我编程序呀,用C语言哦
main(){int a,s,i,j,b[],c[];for(a=1;a<=200;a++){s=a*a;for(i=0;;i++){b[i]=s%10^(i+1)if(b[i]=0)break;} for( ;i=0;i--){c[i]=s\/10^(i+1)if(b[i]!=c[i])break;} printf("a")} }

关于c语言 如何编写程序
我是这样写的:include<stdio.h> void main(){ int i,j,k,s,t;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++){ s=i*i*i+j*j*j+k*k*k;t=i*100+j*10+k;if(s==t)printf("%d\\n",s);} } 我已经运行过了,完全可以!

c语言编程输入两个整数,运行结果是多少
C语言代码如下:include<stdio.h> int main(){ int a,b;printf("please enter two number:"); ---两个数字用空格隔开,以回车键结束输入。scanf("%d %d",&a,&b);if(a>b)printf("The max is %d",a);else if(b>a)printf("The max is %d",b);else printf("The two Numbers...

C语言中如何输出任意一个数字的每一位数字
cout << "请输入一bai个数字:" << endl;cin >> iNumber;\/\/定义一个栈 int stack;int top=-1;while (iNumber % 10){ stack[++top]=iNumber % 10);iNumber = iNumber \/ 10;} printf("从高到低依次是:\\n")for(;top>=0;top--){ printf("%d\\n",stack[top]);} system("...

求一个用于表白的C语言或C++的程序,谢谢大家了
include <stdlib.h> define I 20 define R 340 include <string.h> int main(){ char answer[10];printf("遇到你\\n我才发现\\n曾经所有的条件\\n似乎都成了我等你的借口\\n\\n");printf("我对你的感情已经决堤\\n所以\\n请允许我,从今往后映入你\\n明媚的眼\\n");printf("我\\n想和你\\n耳...

相似回答