云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 大学生C语言程序设计(第四版 谭洪强)实验 6答案

大学生C语言程序设计(第四版 谭洪强)实验 6答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/31 0:54:54

实验六 参考答案(参考答案)

(1) 设计程序sy6-1.c,输入一个字符串,将其中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入\,cD\,则输出\,cd\。 算法分析:

使用for循环遍历字符串,在遍历的过程中,如果该元素是大写字母时,能过str[i]=str[i]+32把大写字母置换成相应小写字母

参考答案:

#include #include void main() {

char str[100]; int i;

printf(\请输入一个字符串:\gets(str);

for(i=0;str[i]!='\\0';i++)

if(str[i]>='A'&&str[i]<='Z') str[i]=str[i]+32; printf(\输出转换后的字符串:\puts(str); }

运行结果:

(2) 设计程序sy6-2.c,输入一个字符串,删除其中所有的小写字母'c'。例如,若输入字符串\,则应输出字符串\

算法分析:

在原字符数组中删除指定字符时,当遍历的字符不等于要删除的字符时,在原数组中赋值。注意在赋值的时候,元素下标不同步,所以用j做为删除后的下标,并且是赋一个值,其下标自动加1,所以最后j的值为数组的长度,另外为了保证字符数组能正确输出,所以在最后要人为加一个\\0 参考答案:

#include #include void main()

{

int i,j=0; char str[20];

printf(\请输入一个字符:\gets(str);

for(i=0;str[i]!='\\0';i++)

if(str[i]!='c')str[j++]=str[i]; //将指定字符c删除 str[j]= '\\0';

printf(\请输入一个字符:\puts(str); }

运行结果:

(3) 设计程序sy6-3.c,输入一个字符串,统计其中 'a' 到 'z' 26 个英文小写字母各自出现的次数。 例如运行时输入字符串:abcdefgabcdeabc 后,则输出的结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

算法分析:

用a数组的a[0](其中0下标是'a'-'a')存放'a'字符的个数,a[1](其中1下标是'b'-'a')存放'b'字符的个数,a[str[i]-'a'](其中str[i]-'a'下标是str[i]字符对应存储个数的下标)存放str[i]字符的个数。因此在程序中只需用str[i]-'a'作为a下标的元素进行自加即可。 参考答案:

#include void main() {

char str[100];

int i,a[26]={0}; //分别统计26小写字母的个数,初始时都为0个 printf(\请输入一个字符串:\gets(str);

for(i=0;str[i]!='\\0';i++)

if(str[i]>='a'&&str[i]<='z') //是小写字母才统计

a[str[i]-'a']++; //str[i]-'a'作为a数组下标的元素进行自加,

//即可使相应统计个数的元素值加一

for(i=0;i<26;i++) //输出统计结果 printf(\ }

运行结果:

(4) 设计程序sy6-4.c,将一个数字字符串转换为一个整数(不得调用 C 语言提供的将字符串转换为整数的函数)。例如,若输入字符串\,则函数把它转换为整数值 -1234。

算法分析:

将数字字符转换成数字的做法是,将该数字字符减去'0'字符,在转换时需要逐个字符判断为数字字符才转换,不是不转换。

为了保证转换的数字为一个原顺序的整数,则把s*10后再把转换后的数字累加入s中。最后再对字符串中的第一个字符进行判断看是否是‘-’;

如果是,则把s置成-s即可

参考答案:

#include void main() {

char str[100]; int i,s=0;

printf(\请输入一个字符串:\gets(str);

for(i=0;str[i]!='\\0';i++) //逐一把每个数字字符转换累加到数s中 if(str[i]>='0'&&str[i]<='9') s=s*10+str[i]-'0'; if(str[0]=='-') s=-s; //判断符号位 printf(\}

运行结果:

(5) 设计程序sy6-6.c,将放在字符串数组中的 M 个字符串(每串的长度不超过 N),按顺序合并组成一个新的字符串。 例如,字符串数组中的 M 个字符串为: AAAA BBBBBBB CC 则合并后的字符串的内容应是:AAAABBBBBBBCC。 算法分析:

首先对p串初始化为'\\0'再将s中的每个字符串连接在p串的后边。但要注意将string.h包含在程序中

参考答案:

#include #include #define M 3

#define N 80 main()

{ char s[M][N]={\//p用来存放合并后的新串 int i; for(i=0;i

运行结果:

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验六 参考答案(参考答案) (1) 设计程序sy6-1.c,输入一个字符串,将其中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入\,cD\,则输出\,cd\。 算法分析: 使用for循环遍历字符串,在遍历的过程中,如果该元素是大写字母时,能过str[i]=str[i]+32把大写字母置换成相应小写字母 参考答案: #include #include void main() { char str[100]; int i; printf(\请输入一个字符串:\gets(str); for(i=0;str[i]!='\\0';i++) if(str[i]>='A'&&str[i]<='Z') str[i]

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com