爱问知识人 爱问教育 医院库

C 编程题目4

首页

C 编程题目4

 编写一个程序,要求用户输入一个十进制数,然后分别转换成为二进制数、八进制数和十六进制数输出。

提交回答
好评回答
  • 2005-05-05 17:56:53
      //没有运行,自己运行一下
    #include 
    #include 
    void fun(int a,char *s1,int n)
    {
    int pos=0;
    while(a!=0)
    {
    if (a%n>=10)
    s1[pos]=a%n-10+'A';//10用A表示,11用B。
      。。
       else s1[pos]=a%n-1+'1'; a=a/n; pos++; } s1[pos]='\0'; } int main() { int n,i; char s; scanf("%d",&n); fun(n,s,2); for (i=strlen(s)-1;i>=0;i--) printf("%c",s[i]); printf("\n"); fun(n,s,8); for (i=strlen(s)-1;i>=0;i--) printf("%c",s[i]); printf("\n"); fun(n,s,16); for (i=strlen(s)-1;i>=0;i--) printf("%c",s[i]); printf("\n"); }。

    e***

    2005-05-05 17:56:53

其他答案

    2005-05-08 08:48:51
  • 十进制转换成其它进制都是采用除留取余的方法
    我也写一些主要的。
    int s[80];
    int a=145,i=0;
    while(a>=0)
    {
    s[i++]=a%2;/*如果是8进制就将此循环中的2改为8即可*/
    a=a/2;
    }
    while(i>=0)/*逆序输出*/
    {
    printf("%d",s[i--]);
    }
    如果是16进制的话注意把大于10的数字改成相应的英文字母。

    1***

    2005-05-08 08:48:51

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 172-191
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):