第八次c语言作业

更新时间:2024-04-03 18:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第八次课作业 请预习:函数

请课后首先完成p743.c(逆序)、p750.c(删除“*”)、p220.c(统计字母数字空格等)、p221.c(回文判断)、p827.c(最长字符串)、p828.c(最大字符串) 习题8-1

题码:章节:数组考查点:字符数组的处理,循环和判断难度:2

编写一程序P220.C实现以下功能从键盘读入一行字符(约定:字符数≤127字节),统计及输出其中的字母、数字、空格和其他符号的个数。编程可用素 材:printf(\、 printf(\。

程序的运行效果应类似地如图1所示,图1中的gfaskl45623cvsac,53dwafl faf32535是从键盘输入的内容。

图1 程序运行效果示例 习题8-2

题码: 章节:数组考查点:字符数组的处理,循环和判断难度:2 编写一程序p219.C实现以下功能

从键盘读入一行字符(约定:字符数≤127字节),将其中的数字字符以及这些数字字符的数量在屏幕上显示,注意:要求先显示这些数字字符的数量。编程 可用素材:printf(\、printf(\、 printf(\。

程序的运行效果应类似地如图1所示,图1中的gfaskl45623cvsac,53dwafl faf32535as3bf0是从键盘输入的内容。

图1 程序运行效果示例 习题8-3

题码: 章节:数组 考查点:字符数组的处理,循环和判断难度:1 编写一程序p221.C实现以下功能

从键盘读入一个字符串(约定:字符数≤127字节),检查该字符串是否是回文。所谓回文即正向与反向的拼写都一样,例如:adgda。编程可用素材:printf(\input string:\、printf(\shihui wen.\、 printf(\bushihui wen.\。程序的运行效果应类似地如图1和图2所示,图1中的asdfghjhgfdsa和图2中的asdfghjhgfdsaa是从键盘输入的内容。

图1 程序运行效果示例(回文) 图2 程序运行效果示例(非回文) 习题8-4

题码:章节:数组考查点:字符数组的处理,循环和判断难度:2 编写一程序P222.C实现以下功能

从键盘上读入一行字符(约定:字符数≤127字节),按以下方法将其加密变换: A->Za->z B->Yb->y C->Xc->x

1 / 4

???? Z->Az->a

即字母A变成Z、字母B变成Y...,非字母字符不变。最后在屏幕上先显示这一行字符的长度,再显示生成的密文。

编程可用素材:printf(\、printf(\、printf(\。 程序的运行效果应类似地如图1所示,图1中的sfasfk,lmw4tywerysfcvasgewr xfasftg是从键盘输入的内容。

图1 程序运行效果示例 习题8-5

题码:章节:数组考查点:字符数组的处理,循环和判断难度:2 编写一程序p311.C实现以下功能

①从键盘上先后读入两个字符串,假定存储在字符数组s1和s2中。注意,这两个字符串最长均可达到127个字符、最短均可为0个字符。

②将字符串s2插入字符串s1中,插入方法为:s2的第i个字符插入到原s1的第i个字符后,如果s2比s1(假定s1的长度为L1)长,则s2的第L1个字符开始到s2结尾的所有字符按在s2中的顺序放在新生成的s1后。提示,合并时可使用中间数组。例如:

s1输入为\,S2输入为\,则输出的s1为: 1a2b3c4d5e6f7g8h9ijk

③在屏幕上输出新生成的s1。 编程可用素材:printf(\、printf(\、printf(\。 程序的运行效果应类似地如图1所示,其中的123456789和abcdefghijk是从键盘输入的内容。

图1 程序运行效果示例 习题8-6

题码:章节:数组 考查点:排序算法,二维字符数组及字符串处理函数的应用, 难度:3 编写一程序p719.C实现以下功能

从键盘上输入5个字符串(约定:每个字符串中字符数≤80字节),对其进行升序排序并输出。编程可用素材:printf(“Input 5 strings:\\n”)...、printf(“---------------------------\\n”)...。 程序的运行效果应类似地如图1所示,图1中的 hello my friend

Are you ready? help!

是从键盘输入的内容。

2 / 4

图1 程序运行效果示例 习题8-7

题码: 章节:程序的控制结构考查点:基本输入/输出、if语句的使用、switch语句的使用难度:2 编写一程序p705.C实现以下功能

从键盘输入星期几的第一个字母(接收字符请用getchar()),由程序判断是星期几,并显示其对应的英文单词,如果第一个字母一样,则继续判断第二个字母。星期的第一个字母都为大写。如果输入的字符不能构成星期的英文单词,则输出“data error”。程序可重复判断,直至输入字母‘Y’。 注:星期一至星期日对应的单词为Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday。 编程可用素材:printf(\input the letter of someday: \、 printf(\、printf(\、printf(\、 printf(\、printf(\、printf(\、 printf(\、printf(\。

程序的运行效果应类似地如图1所示,图1中的WSajTxMTTuY是从键盘输入的内容。

图1 程序运行效果示例 提示:

方法一、该题可以用字符数组存放字符串,但只能使用getchar()函数一个一个字符循环输入存入内存 方法二、

1、该题可以不使用字符数组存放字符串,而是让程序每次从键盘得到一个字符进行判断,若判断条件需要读入第二个字符则读入第二个字符,否则是不会读入第二个字符的,也就是程序最多读入两个字符。

2、对Monday, Wednesday, Friday的判断只需一个字符即可,而对Tuesday,Thursday,Saturday,Sunday的判断需要两个字符,例如:若当前读到的字符为T,则应再读入一个字符,并判断是否是u,如果是,则输出Tuesday,若判断结果是h,则输出Thursday,若不是则应将第二个字符通过调用函数ungetc(ch, stdin); 还给键盘 习题8-8(选作)

题码:章节:字符串处理考查点: 难度:2 编写一程序p771.C实现以下功能

编程在一个已知的字符串(约定:字符数≤127字节)中查找最长单词,输出最长单词的长度。 注意事项:

(1)只考虑输入的字符串中仅含空格和其它可见字符,仅用空格用来分隔不同单词。 (2)字符串中可能只有1个单词。

(3)字符串中可能1个单词都没有,此时最长单词的长度为0。

(4)编程可用素材:printf(\、printf(\。 程序的运行效果应类似地如图1所示,图1中的hello welcome to chengdu-CUIT是从键盘输入的内容。

3 / 4

图1 程序运行效果示例 提示:

思路:对字符串中的单词一个个计算长度,找出其中最长单词的长度。 具体算法: 1)、逐个判断字符串中的字符,若当前字符不是空格,则当前单词的长度len++,并同时判断当前单词是否结束。 2)、当前单词结束判断:当前字符不是空格,后一字符是空格或是’\\0’,则当前单词结束 3)、比较max(保存目前找到的最长单词长度)和len的大小,若max

charstr[128];

int i, max = 0,len = 0;

数组str存放原始字符串,max存放到目前为止找到的最长单词长度,len计算当前单词长度, i控制数组str的下标 2、 中心段程序:

for (i = 0; str[i] != '\\0'; i++) //沿字符串逐个字符进行判断 {

if (str[i] != ' ') //若当前字符不是空格,即是当前单词的一部分,len++ {

len++;

if (str[i+1] == ' ' || str[i+1] == '\\0' )//若后一字符是空格或'\\0',则当前单词结束, {

if (max

max = len; } } } }

4 / 4

本文来源:https://www.bwwdw.com/article/fo2r.html

Top