当前位置: 代码迷 >> C语言 >> [求助]关于两个数大小比较啊
  详细解决方案

[求助]关于两个数大小比较啊

热度:126   发布时间:2007-04-15 11:14:10.0
[求助]关于两个数大小比较啊
任给两个数,进行大小比较。不过难的是数的位数任意并且数据的类型也不知道啊。大家帮我想想办法吧!
搜索更多相关的解决方案: 数据  

----------------解决方案--------------------------------------------------------
不知输入其他进制是怎样输入 是不是最后一位哦 如二进制(110101102)
那样可以先判断最后一位 在转换位十进制后比较 不过这样可能有点复杂

----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
float a,b;
printf("input two Integer\n");
scanf("%f%f",&a,&b);
if(a>b)
printf("%f\n",a);
else printf("%f\n",b);
return 0;
}

全用浮就可以了。两个都行
#include<stdio.h>
main()
{
float a,b;
printf("input two Integer\n");
scanf("%f%f",&a,&b);
a>b?printf("%f",a):printf("%f",b);
return 0;
}



----------------解决方案--------------------------------------------------------
谢了,不过对于任意位数的数据进行比较如何处理呢,先说怎么存储起来吧?
----------------解决方案--------------------------------------------------------
你是什么意思?


----------------解决方案--------------------------------------------------------
说的是不是进制,八进制和十六进制在scanf()中分别用%o,%x,或%ho,%hx为无符号类型输入.
比较的时候则不用在意进制的问题,只要打印的时候选择想要的进制输出就好了.

----------------解决方案--------------------------------------------------------

看成字符串处理.注意找小数点.


----------------解决方案--------------------------------------------------------
对于两个超长数的比较,首先要存储起来,不过由于不知道位数,如何能用字符串?C不能动态定义数组啊。只能用链表结构,不过难解决的是对于整数和小数的存储,在链表中定义  int a,存入输入的超长数的每一位,当时如何将小数点存入呢,而且即使存入了还有比较大小的问题呢?这中间设计到很多细节有待解决啊!
----------------解决方案--------------------------------------------------------
用数组来存储输入的数据,将数组定义的大点,然后用字符串格式输入,如果发现小数就把小数点左右两边分成两个数,将其转换为整型(ATOI函数),再进行大小比较就是了
----------------解决方案--------------------------------------------------------
还要注意正负的问题,这个比较好解决,我就不说了
----------------解决方案--------------------------------------------------------
  相关解决方案