| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3307 人关注过本帖
标题:[讨论]挑战!今天一家牛公司给的c语言面试题!!(限时一下午)
只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
2。将1个8位二进制数转换成十六进制数,将两位十六进制数转换成二进制数输出;

每4位替换成一个字符.
k=0;
for(int i=0;;)
{
sum=0;
while(str[i]!='\0'&&i<4*(k+1))
{
sum=sum*10+(str[i]-'0');
i++;
}
if(sum>=10)data[k++]=sum-10+'A';
else data[k++]=sum+'0';
}


倚天照海花无数,流水高山心自知。
2007-04-25 23:42
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
厉害啊 斑竹啊

羊肉串 葡萄干 哈密瓜!!
2007-04-26 00:43
sishen
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-4-23
收藏
得分:0 
             一丁点都不明白...
2007-04-26 07:51
jian3691
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-26
收藏
得分:0 

不明白!!

2007-04-26 09:12
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

二进制转换成十六进制是将每四位转换成一位十六进制数.但我的还有点错误,应该要从各位开始转换,我从高位开始了.
不过如果是LZ的题目,它刚好是4的整数倍.

如果要通用,那就得从后往前转换.


倚天照海花无数,流水高山心自知。
2007-04-26 09:24
YANGDAN123
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-1-16
收藏
得分:0 

不明白


我将用我全部的时间去寻找我生命和灵魂的唯一伴侣,得之,我幸,不得,我命。
2007-04-26 10:09
shenqi5150
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-4-17
收藏
得分:0 
回复:(philo)[讨论]挑战!今天一家牛公司给的c语言...
3。有一个程序,包括三部分,有三个人配合开发。
第一个是中断的服务程序,其涉及复杂的地层硬件驱动,每次能够从硬件得到一个字节的信息;
第二部分是主程序,其也非常复杂,主程序的运作命令来自中断服务程序,每次获取一个字节;
第三部分是你要写得程序,用于衔接主程序何种断服务程序,其含三个子程序:
A。资源初始化程序:他有主程序在启动时调用,完成你所使用得资源的初始化;
B。数据暂存子程序:它供中断程序调用,用于处理聪硬件获取的数据;
C。数据获取子程序:它供主程序调用,以便主程序能够获取来自硬件的数据;
注意:为简化端口,三部分所有的程序将简单放在一个文件中进行编译。

java版的,c语言忘记了,没有调试过的,基本上这样写应该没有错。

public class CConnectService {
static final int MAX_SIZE = 30000;
static byte[] buff;
static int p = 0;

//数据暂存子程序
public static boolean addDataFromHardWear(byte b) throws InterruptedException{
if(p > MAX_SIZE){
return false;
} else {
buff[p] = b;
p++;
}

return true;
}

//资源初始化程序
public static void init(){
buff = new byte[30000];
p = 0;
}

//数据获取子程序
public static byte getData() throws InterruptedException{
byte returnValue = 0;
if(p == 0){
//doNothing
} else {
returnValue = buff[p];
p--;
}

return returnValue;
}
}
2007-04-26 15:49
!西瓜!
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-4-26
收藏
得分:0 

看懂一点点!!!!
2007-04-26 17:14
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
这个是我写的第一题 利用了字符存储在缓冲区来写的
#include"stdio.h"
main()
{
int i=1;
char ch,cb;
scanf("%c",&ch);
while(scanf("%c",&cb))
{
if(ch==cb)i++;
else{
printf(i>=2?"%c%d":"%c",ch,i);i=1;ch=cb;
}
}
}

[此贴子已经被作者于2007-4-26 18:23:56编辑过]


羊肉串 葡萄干 哈密瓜!!
2007-04-26 18:23
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
我想了想如果想考虑解压可以在加个数组,用整形的数组把字符换成ascii来存储 数组下标单数存储字符的ascii码,数组下标双数存储字符重复的个数。

羊肉串 葡萄干 哈密瓜!!
2007-04-26 18:32
快速回复:[讨论]挑战!今天一家牛公司给的c语言面试题!!(限时一下午)
数据加载中...
 
   



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

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