你的题目没说清楚啊~!~
输入的格式,?结束的条件什么的~!~???
我写了一下,输入数之间无其它符什么的,用空格就行了,
处理到文件结束~!
#include
int fun(int m)
{
int ans=0;
while( m > 0 )
{
ans*=10;
ans+=m%16;
m/=16;
}return ans;
}
void main()
{
int a,b,m,n;
while(scanf("%d%d",&a,&b)!=EOF)
{
scanf("%d%d",&m,&n);
scanf("%d%d",&a,&b);
printf("%d.%d",fun(n),fun(m));
}
}
不太明白你的意思,能说得再明白一点不?
代码分两部分,第一部分提取数值。
假设循环输入数组为a[6]={127,67,17,6,0,0}
a[0],a[1]固定等等固定。a[2],a[3]分别处理。
下面处理数据:
整数部分a[3],小数部分a[2];
第一步:写一个转换函数,把十进制数转换为十六进制。
第二步:小数部分处理。
然后整合下就可以了。思路很清晰哦。
你的题目要求确实没有说清楚,你要输入什么,输出什么?只知道你想要中间两个数据的转换,将它们转换成十六进制输出,那么在输出语句的,把输出格式改成%x就可以了。如
#include "stdio.h"
main( )
{ int m,n;
scanf("%d%d",&m,&n);
printf("the weight of the box is %x.%x kg.",n,m);
}