#include<stdio.h>
int main()
{ int n, i, count;
i=0;
count=0;
scanf("%d", &n);
char pinyin [11][5]={"ling","yi","er","san"
,"si","wu","liu","qi","ba","jiu"};
int store [10];
if (n==0)
printf("ling");
while (n!=0)
{if (n>0)
{store [i]=n%10;
n/=10;
i++;}
else
{store [i]=-n%10;
n=-n/10;
i++;
printf("fu ");}
}
while (i>=0)
{
i--;
if (count>0)
{printf(" ");}
count++;
printf("%s", pinyin [store [i]]);
}
return 0;
}
一个数字拼音的程序,想问问大家,为什么最后while输出时候,必须i--在最前(不然结果就奇怪的错了),其他while自增自减都在循环最后。