如风 发表于 2005-11-6 15:53

计算机登记考试c语言

大哥大姐们,教教我吧!
# include <stdio.h>
# include <string.h>
char trans(int x)
{
if(x<10) return &#39;0&#39;+x;
else _______1________
}
   
int DtoH(int n,char *str)
{
int i=0;
while(n!=0)
{
________2________
n/=16;i++;}
return i-1;
}

void main()
{
int i,k,n;
char *str;
scanf("%d",&n);
k=DtoH(n,str);
for (i=0;i<=k;i++) printf("%c",str);
}

墙角野猫 发表于 2005-11-6 21:41

1
2
是填空是吧,
也不说清楚。

墙角野猫 发表于 2005-11-6 21:44

没题目的?就这个程序填空?

薄荷糖娃娃 发表于 2005-11-7 12:58

晕.............

我是誰 发表于 2005-11-7 19:31

楼主应该把这段代码所要实现的功能写出来,这样大家才好帮你.
我是从函数名int DtoH(int n,char *str)上猜这应该是个十进制转换为十六进制的程序吧.
就按这个做一下:

1return 55+x;
2str=trans(n%16);


编译通过
回答完毕

墙角野猫 发表于 2005-11-7 20:52

楼上的强人

我是誰 发表于 2005-11-7 21:57

第一空如果要便于理解,也可以写成这样:

return &#39;A&#39;-10+x;      //意思为返回十六进制中9后面的数,即从A到F

墙角野猫 发表于 2005-11-9 08:08

应该就是十进制到十六进制的转换

米羅 发表于 2005-11-19 02:54

我是谁
你软工考出了吗?

清水铃子 发表于 2005-11-19 18:05

下面是引用我是誰于2005-11-07 19:31发表的:
楼主应该把这段代码所要实现的功能写出来,这样大家才好帮你.
我是从函数名int DtoH(int n,char *str)上猜这应该是个十进制转换为十六进制的程序吧.
就按这个做一下:
1return 55+x;
2str=trans(n%16);
.......
你真牛~~~服
页: [1] 2
查看完整版本: 计算机登记考试c语言