| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 433 人关注过本帖
标题:进制转换问题
只看楼主 加入收藏
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:8 
进制转换问题
#include <stdio.h>
#include<math.h>
#define MAX 10
void main()
{
  int  n,len1,len2,n1,i;
  float N,n2;
  char c;

  int a[MAX+1];
  int b[MAX+1];
  char d[]="0123456789ABCDEF";
  printf("Input a decimal integer and a base:");
  scanf("%f%d",&N, &n);
  n1=(int)N;
  n2=N-n1;
  printf("Converting...\n");
  len1=0;
  len2=0;

  while (n1) {
    a[len1]=n1%n;
    n1=n1/n;
len1++;
  }

  while(n2){
 
 b[len2]=(int)(n2*n);
 n2=n2*n-(int)n2*n;
 len2++;
  }

  printf("%f equals to ",N);  

  for (;len1>0;len1--){
 i=a[len1];
 printf("%c",d[i]);
  }
  
  if(len2!=0){
 printf(".");
      for (len2=1;len2<7;len2++)
 {
 i=b[len2];
 printf("%c",d[i]);
 }
  }

  printf("\n");
}
麻烦看一下哪里错了
搜索更多相关主题的帖子: include 
2015-12-07 22:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:14 
麻烦看一下哪里错了
哪里错了,应该你告诉别人。
编译失败,就贴出错误信息;
运行错误,就贴出你输入的数据、实际输出的数据、和你期待应该输出的数据。
2015-12-08 09:09
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
收藏
得分:0 
#include <stdio.h>
#include<math.h>
#define MAX 16
#define M 7
void main()
{
  int  n,len1,len2,n1,i;
  float N,n2;
  char c;

  int a[MAX+1];
  int b[MAX+1];
  char d[]="0123456789ABCDEF";
  printf("Input a decimal integer and a base:");
  scanf("%f%d",&N, &n);
  printf("It is converted into ");
   
  if(N<0){
        printf("-");
        N*=(-1);
    }
  n1=(int)N;
  n2=N-n1;
  len1=0;
  len2=1;
  if(n1==0)
      printf("0");
  else{
      while (n1) {
          a[len1]=n1%n;
          n1=n1/n;
          ++len1;
      }
      for (;len1>0;len1--){
      i=a[len1-1];
      printf("%c",d[i]);
      }
  }
  if(n2!=0){
      printf(".");
      for(;len2<M;len2++){
          b[len2]=n2*n;
          n2=n2*n-b[len2];
      }
      for(len2=0;len2<M;len2++)
      {
          i=b[len2];
          printf("%c",d[i]);
      }
  }

  printf("\n");
}
我把源程序改成这样的了,整数没有问题,但是输入的数据有小数的话,就会出现
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-12-08 13:42
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-12-08 13:44
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
收藏
得分:0 
回复 2楼 rjsp
不好意思啊,我在三四楼补充了,麻烦看一下吧
2015-12-08 13:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用hsm在2015-12-8 13:49:08的发言:

不好意思啊,我在三四楼补充了,麻烦看一下吧
你1楼和3楼的代码不一样,你需要别人改哪楼的代码?
你在4楼中输入 5 2 和 3.2 2,针对的是哪楼的代码?
2015-12-08 14:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
算了,要求不清,没法给你写
从一开始float接受小数就错了,float不能表示实数
2015-12-08 15:01
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
收藏
得分:0 
回复 7楼 rjsp
改第三楼的源程序,那个截图也是第三题的源程序
2015-12-08 18:39
hsm
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-11-19
收藏
得分:0 
回复 5楼 hsm
float为什么不能表示实数
2015-12-08 18:41
快速回复:进制转换问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018997 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved