我一直在研究一个程序,该程序在执行时要求输入两个数字,第一个是任何十进制数字,第二个数字是您希望转换为的基数 (2-16)。它工作得很好,除了一件事。每个输出都是向后的。这是意料之中的,它需要余数并按计算顺序输出它们。但是我希望他们以相反的顺序出现。我正在考虑设置一个循环并将余数存储在一个数组中,然后向后循环数组并吐出信息。但我是 C 的新手,我无法让它工作!告诉我你的想法!
任何帮助将不胜感激。我已经坚持了一段时间。
#include <stdio.h>
#include <stdlib.h>
int main(void){
int x, y, z, c; //Sets up variables to be used in program
printf("Please enter two integers: "); //Asks for user input
scanf("%d", &x);
scanf("%d", &y); //stores input
printf("%d\n", x);
printf("%d\n", y);
printf(" \n");
if(y < 2 || y > 16){
printf("You have entered incorrect information.\n");
return 0;
} //bug checks
else if(y > 1 && y < 17){
while(x != 0){
c = (x%y);
x = (x/y); // Loops numbers until a 0 value is reached, can be used with
// any Base
if( c == 10){
c = printf("A");
}else if( c == 11){
c = printf("B");
}else if( c == 12){
c = printf("C");
}else if( c == 13){
c = printf("D");
}else if( c == 14){
c = printf("E");
}else if( c == 15){
c = printf("F");
}else{
printf("%d", c);
}
// Returns for each remainer option
}
printf("\n");
}
// Returns for each remainer option
printf("\n");
}