好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

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

(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下标的元素进行自加即可。

参考答案:

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

实验六参考答案(参考答案)(1)设计程序sy6-1.c,输入一个字符串,将其中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入\,cD\,则输出\,cd\。算法分析:使用for循环遍历字符串,在遍历的过程中,如果该元素是大写字母时,能过str[i]=str[i]+32把大写字母置换成相应小写字母<
推荐度:
点击下载文档文档为doc格式
272jn8wtm40mq5e7eayt5nd0e7n2yj017eh
领取福利

微信扫码领取福利

微信扫码分享