教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

C语言经典例题大全(2)

来源:网络收集 时间:2026-09-02
导读: int i = 0; int tmp = data; int len; char t; /* 把data转为字符倒序的放入字符数组out中去 */ while (tmp != 0) { if (tmp%M = 10) { out[i] = tmp%M - 10 +'A'; } else { out[i] = tmp%M + '0'; } tmp = tmp/M;

int i = 0;

int tmp = data; int len; char t;

/* 把data转为字符倒序的放入字符数组out中去 */ while (tmp != 0) {

if (tmp%M >= 10) {

out[i] = tmp%M - 10 +'A'; } else

{

out[i] = tmp%M + '0'; }

tmp = tmp/M; i++; }

len = i;

/* 把字符数组out反序 */

for (i=0; i<len/2; i++) {

t = out[i];

out[i] = out[len -i -1]; out[len -i -1] = t; }

out[len] = '\0'; }

/* N进制转为十进制 */ int n_to_ten(int N, long int data) {

char a[100]; int i;

ten_to_m(a, data, 10); //把data转为字符串 int len = strlen(a); int out = 0;

for (i=0; i<len; i++) {

out = out*N + a[i]-'0'; }

return out; } 第6题

综合应用

1. 矩阵应用

给定一个整数N,生成一个N*N的矩阵,矩阵中元素取值为1至N2,1在左上角,其余各数按顺时针方向旋转前进,依次递增放置。例如,当N=4时,矩阵中的内容如下:

1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7

给定n(3 &pound; n &pound; 50000)个闭区间[ai, bi](1 &pound; i &pound; n, ai,bi均为非负整数),将这些区间合并为不相交的闭区间。输入文件的第一行包含一个整数n,为区间的数目。以下有n行,每行各包括两个空格分隔的整数ai 和 bi,表示一个区间[ai, bi](0 &pound; ai &pound; bi &pound; 1000000)。计算结果写在标准输出上,各区间按照升序排列输出。每一行包含两个用空格分开的整数,分别描述一个区间的上下界。例如,对于下列输入数据:

5 5 6

1 4 10 10 6 9 8 10

输出为:

1 4 5 10

2. 字符串处理

从标准输入中读入N(1<N<10000)行以换行符结束且长度不超过2048的字符串,并在输入结束后输出其中最长10行的输入序号、长度和内容。当有多行长度相等的最长行时,输出最先输入的行的信息。参考【例2-7】的讨论,分别使用不同的方法实现这一程序,比较各种方法的运行效率。

3. 汉诺塔问题

写出程序求解Hanoi双塔问题。从标准输入上读入正整数n(n < 12),在标准输出上输出盘子的移动动作。盘子的尺寸由1到n,输出数据格式为:

move <盘子编号> from <原位置> to <新位置>

其中<盘子编号>为<d>a或<d>b,其中<d>是一个小于等于n的正整数,在初始状态下尺寸相同的盘子中a盘在b盘之上,<原位置>和<新位置>均为字母ABC中的一个。例如,移动序列的第一个动作可能是move 1a from A to C。

4. 表达式问题

从标准输入上读入一个由数字和四则运算符组成的后缀表达式,将其转换为中缀表达式。后缀表达式中的运算符不超过15个,数字可以是整数,也可以是带有小数部分的浮点数,数字和运算符之间由空格分隔。转换后的中缀表达式中不应出现不必要的括号和空格,且转换前后各运算数的出现顺序不变。例如,对于后缀表达式:

4 7 - 2.1 5 + * 7.1 9 - / 输出

(4-7)*(2.1+5)/(7.1-9)

有大、中、小三个酒桶,分别能装A斤、B斤和C斤酒,其中A、B、C均为整数,A=B+C,B>C>0,且A为偶数。现在大桶装满了酒,另外两个桶都空着。写程序求解用这三个桶将酒平分成为两份的操作序列。当无解时输出字符串“No”。

5. 文件处理

读入一个不超过20000000个字符的正文文件,统计其中所有由字母组成的单词及其所在的行号。文件中各个单词之间以空白符或标点分隔,区分大小写。按单词的字典序在标准输出上输出统计结果,输出格式为<word>: <h1> <h2> … <hn>,每个单词一行,其中<word>是单词,<hn>是行号。行号之间由空格分隔,按升序排列,不得重复,即当一个单词在一行出现多次时,只输出该行号一次。

6. 路径处理 写一个程序,列出环境变量PATH中包含的所有目录的路径名。注意,Unix/Linux上PATH中各个路径名之间的分隔符与Windows上的不同。使用条件编译,使你的程序可以适用于这两种系统 第7题

第八套

1. 百度语言翻译机

百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套独特的缩略语。他们在平时的交谈、会议,甚至在各种技术文档中都会大量运用。

为了让新员工可以更快地适应百度的文化,更好地阅读公司的技术文档,人力资源部决定开发一套专用的翻译系统,把相关文档中的缩略语和专有名词翻译成日常语言。 输入要求:

输入数据包含三部分:

1. 第一行包含一个整数N(N<=10000),表示总共有多少个缩略语的词条;

2. 紧接着有N行的输入,每行包含两个字符串,以空格隔开。第一个字符串为缩略语(仅包含大写英文字符,长度不超过10字节),第二个字符串为日常语言(不包含空格,长度不超过255字节);

3. 从第N+2开始到输入结束为包含缩略语的相关文档(总长度不超过1000000个字节)。例: 6

PS 门户搜索部 NLP 自然语言处理 PM 产品市场部 HR 人力资源部

PMD 产品推广部 MD 市场发展部

百度的部门包括PS,PM,HR,PMD,MD等等,其中PS还包括NLP小组。 样例:in.txt

输出要求:

输出将缩略语转换成日常语言后的文档。(将缩略语转换成日常语言,其他字符保留原样)。例:

百度的部门包括门户搜索部,产品市场部,人力资源部,产品推广部,市场发展部等等,其中门户搜索部还包括自然语言处理小组。

样例:out.txt 2. 饭团的烦恼

“午餐饭团”是百度内部参与人数最多的民间组织。同一个部门的、同一所大学的、同一年出生的、使用同一种型号电脑的员工们总是以各种理由组织各种长期的、临时的饭团。

参加饭团,不仅可以以优惠的价格尝到更加丰富的菜式,还可以在吃饭的时候和同事们增进感情。但是,随着百度的员工越来越多,各个饭团的管理变得繁杂起来。特别是为了照顾员工们越来越挑剔的胃,饭团的点菜负责人的压力也越来越大。现在,这个任务就交给“百度之星”了,因为,你将要为所有的百度饭团设计一个自动点菜的算法。 饭团点菜的需求如下:

1.经济是我们要考虑的一个因素,既要充分利用百度员工的午餐补助,又不能铺张浪费。因此,我们希望最后的人均费用越接近12元越好。

2.菜式丰富是我们要考虑的另一个因素。为简单起见,我们将各种菜肴的属性归结为荤菜,素菜,辛辣,清淡,并且每个菜只能点一次。

3.请谨记,百度饭团在各大餐馆享受8折优惠。

输入要求:

1.输入数据第一行包含三个整数N,M,K(0<N<=16,0<M<=N,0<K<=12),分别表示菜单上菜的数目,饭团需要点的菜的数目,就餐的人数;

2.紧接着N行,每行的格式如下:

菜名(长度不超过20个字符) 价格(原价,整数)是否荤菜(1表示是,0表示否) 是否辛辣(1表示是,0表示否); 3.第N+2行是 a b c d 四个整数,分别表示需要点的荤菜 …… 此处隐藏:2864字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言经典例题大全(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/121147.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)