要求编一个程序,把1000到3000之间的阿拉伯数字转换成罗马数字,保持程序持续运行下去,直到用户输入“e”或者“E”。前面都不成问题,但是运行时,在while那里,直接循环,跳过让用户输入的选项。哪里有问题?帮忙看看。加急!!!!!!!谢谢
#include
要求编一个程序,把1000到3000之间的阿拉伯数字转换成罗马数字,保持程序持续运行下去,直到用户输入“e”或者“E”。前面都不成问题,但是运行时,在while那里,直接循环,跳过让用户输入的选项。哪里有问题?帮忙看看。加急!!!!!!!谢谢
#include
#include
int main()
{
char *a[][10]={"","I","II","III","IV","V","VI","VII","VIII","IX",
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
"","M","MM","MMM"};
int n, t, i, m, d, f;
char asd;
do
{
printf("Please enter an four-digit integer Arabic number from 1000 to 3000:");
scanf("%d",&n);
printf("%d=",n);
for(m=0, i=10000; m<4; m++, i=i/10)
{
d=n%i;
f=i/10;
t=d/f;
printf("%s", a[3-m][t+1]);
}
printf("\n");
printf("Press Enter to continue. If you want to end this program, please enter 'e' or 'E'.\n");
asd=getchar();
printf("\n");
}while(!(asd='e'||'E'));
system("pause");
return 0;
}
展开
全部