实验07-2参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验七-2 字符串和数组程序设计

班级:学号:姓名:评分:

一.【实验目的】

1、熟练掌握字符串的存取和操作方法方法。

2、进一步掌握C程序的调试方法和技巧。

二.【实验内容和步骤】

1、程序调试题

A.目标:进一步学习掌握程序调试的方法和技巧。

B.内容:从键盘输入一个以回车键结束的字符串(少于80个字符),将它的内容逆向输出。例如:输入“ABCD”,输出“DCBA”。改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error08_1.cpp)

①调试正确的源程序清单

#include

int main( )

{

int i, k, temp;

char str[80];

printf("input a string: ");

i = 0;

while((str[i] = getchar( )) != '\n')

i++;

str[i] = '\0';

k = i - 1;

for(i = 0; i < k; i++){ /* 调试时设置断点 */

temp = str[i];

str[i] = str[k];

str[k] = temp;

k--;

} /* 调试时设置断点 */

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

putchar(str[i]);

putchar('\n');

return 0;

}

②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

2、完善程序,并调试运行程序

题目(1)求字符串长度。程序功能:连续输入一批以#结束的字符串(字符串的长度不超过80),遇## 则全部输入结束。统计并输出每个字符串的有效长度。例如:输入:hello 12#abc+0##,表示连续输入2个字符串"hello 12"和"abc+0"。输出:8 5。(注:程序文件保存在“第1题”文件夹中)打开proj1.cpp文件,在两条星线

之间填入相应的代码,使程序完成该功能。

①调试正确的源程序清单

//程序功能:连续输入一批以#结束的字符串(字符串的长度不超过80),遇## 则全部输入结束,统计并输出

// 每个字符串的有效长度。例如:

// 输入:hello 12#abc+0##,表示连续输入2个字符串"hello 12"和"abc+0"。

// 输出:8 5。

//提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include "stdio.h"

#define MAXLEN 80

int main( )

{

int len,count,i,k;

char ch,oldch,str[MAXLEN];

oldch=' ';

while((ch=getchar())!='#'||oldch!='#')

{

k=0;

while(ch!='#'&& k< MAXLEN-1)

{

str[k++]=ch;

ch=getchar();

}

oldch='#';

str[k]='\0';

//请在两条星线之间填入相应的代码, 输出该字符串并统计其长度。

/*********************************************************/

len=0;

k=0;

while(str[k]!='\0'){

len++;

k++;

}

/*********************************************************/

printf("%d\n",len);

}

}

②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

题目(2)统计大写辅音字母。程序功能:连续输入一批以#结束的字符串(字符串的长度不超过80),遇##则全部

输入结束。统计并输出每个字符串中大写辅音字母的个数(大写辅音字母:除'A','E','I','O','U'以外的大写字母)。例如:输入HELLO#IT12#uieiaba##,表示连续输入3个字符串,输出3 1 0。(注:程序文件保存在“第2题”文件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。

①调试正确的源程序清单

//程序功能:连续输入一批以#结束的字符串(字符串的长度不超过80),遇##则全部输入结束。统计并输出

// 每个字符串中大写辅音字母的个数。

// 大写辅音字母:除'A','E','I','O','U'以外的大写字母。

// 例如:输入HELLO#IT12#uieiaba##,表示连续输入3个字符串,输出3 1 0。

//提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。

#include "stdio.h"

#define MAXLEN 80

int main( )

{

int count,i,k;

char ch,oldch,str[MAXLEN];

oldch=' ';

while((ch=getchar())!='#'||oldch!='#')

{

k=0;

while(ch!='#'&& k< MAXLEN-1)

{

str[k++]=ch;

ch=getchar();

}

oldch='#';

str[k]='\0';

//请在两条星线之间填入相应的代码, 统计字符串str中大写辅音字母的个数。

/******************************************************************/

i=0;

count=0;

while(str[i]!='\0'){

if(str[i]>='A'&&str[i]<='Z')

if(str[i]!='A'&&str[i]!='E'&&str[i]!='I'&&str[i]!='O'&&str[i]!='U')

count++;

i++;

}

/******************************************************************/ printf("%d\n",count);

}

}

②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

相关文档
最新文档