关于##include#的问题,如何解决?

以下程序的功能是将十进制正整数m转换成r(二~十六)进制数并输出。请完善程序。

#include <stdio.h>

int main()

{

   int m,r,i=0,x;

   char s[80];

   printf("请输入十进制数和要转换的进制:\n");

   scanf("%d%d",________________);

   while(m!=0)

   {

          x=m%r;

          if(x>9)

                 s[i++]=x-10+'A';    /*若转换成十六进制,10~15的数字应转换为A~F*/

          else

                 s[i++]=_____________;        /*转化成字符存储*/

          m=m/r;

   }

   printf("转换后的结果为:");

   i--;

   while(i>=0)                                       /*逆序输出s数组中存放的值*/

          printf("%c",s[_____________]);  

   printf("\n");

   return 0;

}


#include <stdio.h>

int main()

{

   int m,r,i=0,x;

   char s[80];

   printf("请输入十进制数和要转换的进制:\n");

   scanf("%d%d",&m,&r);

   while(m!=0)

   {

          x=m%r;

          if(x>9)

                 s[i++]=x-10+'A';    /*若转换成十六进制,10~15的数字应转换为A~F*/

          else

                 s[i++]=x+'0';        /*转化成字符存储*/

          m=m/r;

   }

   printf("转换后的结果为:");

   i--;

   while(i>=0)                                       /*逆序输出s数组中存放的值*/

          printf("%c",s[i--]);  

   printf("\n");


   return 0;
}
  • 这篇博客: 十进制整数转化R进制整数中的 数据结构的设计 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 栈结构的逻辑结构为线性的,可建立链式结构使得入栈、出栈的操作是动态的,也可以很好地实现进制的转换。而且进制转换恰好和栈的输入输出输出类似,故选择栈是最好的。

  • 您还可以看一下 刘润森老师的零基础学习R语言编程课程中的 创建变量小节, 巩固相关知识点