| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3305 人关注过本帖
标题:[讨论]挑战!今天一家牛公司给的c语言面试题!!(限时一下午)
取消只看楼主 加入收藏
philo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-24
收藏
 问题点数:0 回复次数:4 
[讨论]挑战!今天一家牛公司给的c语言面试题!!(限时一下午)
只写函数,不能调用任何系统函数,函数名自取
1。实现行程压缩,将重复的数据用重复次数来表达,例如:aaabbbccc->a3b3c3,abcd->abcd,aabcdd->a2bcd2,在代码实现过程中要考虑解压。(看起来简单,实际写出来问题多得是了!)

2。将1个8位二进制数转换成十六进制数,将两位十六进制数转换成二进制数输出;

3。有一个程序,包括三部分,有三个人配合开发。
第一个是中断的服务程序,其涉及复杂的地层硬件驱动,每次能够从硬件得到一个字节的信息;
第二部分是主程序,其也非常复杂,主程序的运作命令来自中断服务程序,每次获取一个字节;
第三部分是你要写得程序,用于衔接主程序何种断服务程序,其含三个子程序:
A。资源初始化程序:他有主程序在启动时调用,完成你所使用得资源的初始化;
B。数据暂存子程序:它供中断程序调用,用于处理聪硬件获取的数据;
C。数据获取子程序:它供主程序调用,以便主程序能够获取来自硬件的数据;
注意:为简化端口,三部分所有的程序将简单放在一个文件中进行编译。

各位大侠给些意见和代码来交流一下!

[此贴子已经被作者于2007-4-25 14:21:19编辑过]

搜索更多相关主题的帖子: c语言 牛公司 二进制数 主程序 abcd 
2007-04-24 20:21
philo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-24
收藏
得分:0 

假设aabbcd->a2b2cd,我要是字符串就是a2b2cd,压缩后是a2b2cd,那么解压缩要变成什么啊?

2007-04-25 10:47
philo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-24
收藏
得分:0 
晕,这个叫压缩吗??abcd被扩展成a1b1c1d1了!
数字转换成字符跟在后面是一种极端错误的表现方式,算法很简单,就是找不到一个合适的表现方式。
2007-04-25 10:57
philo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-24
收藏
得分:0 

第二题各位高手有没有代码效率最高的???

2007-04-25 14:22
philo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-24
收藏
得分:0 

[QUOTE]上面的子程序有些小错误。下面的这个程序是经我调试过的,可以得到正确的结果。我考虑的只是压缩,把压缩输出来。并不把压缩后的结果保存到数组里面。不知题中是否要求保存结果到数组。程序如下:
#include<stdio.h>
main()
{char str[5]={'a','a','c','d','\0'};
int count=1;
int i=0,j=0;
char data;
int b;
while(str[i]!='\0')
{
count=1;
j=i+1;
while(str[j]!='\0'&&str[i]==str[j])
{
j++;
count++;
}

printf("%c",str[i]);
i=j;
if(count!=1)
printf("%d",count);

}

// Press(str);

}


输出结果为a2cd,符合题目要求。
[/QUOTE]
我拿什么来解压啊?

2007-04-27 16:37
快速回复:[讨论]挑战!今天一家牛公司给的c语言面试题!!(限时一下午)
数据加载中...
 
   



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

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