字符串习题
要求:独立完成。
做完这些题目以后,以word格式文件发到网站
改错题目在原题上直接改,并且用加粗加红字体方式明显标出 编程题目直接将代码粘贴在题目后面
注意排版格式,可用VC的Alt+F8功能格式化文本 发送文件名格式学号+姓名
在周日之前提交,若错过时间发至邮箱(chengzkahut@gmail.com)
1.用调试程序的方法找出下列程序的错误:
输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。如“ABCD”输出为“DCBA”。 源程序如下:
#include
int i, k, temp;
char str[81];
printf(\ i = 0;
while((str[i] = getchar( )) != '\\n') i++; str[i] = '\\0'; k = i - 1;
for(i = 0; i < =(k-1)/2; i++){ /* 调试时设置断点 */ temp = str[i];
str[i] = str[k-i]; str[k-i] = temp;
} /* 调试时设置断点 */ for(i = 0; str[i] != '\\0'; i++) putchar(str[i]);
return 0; }
2.输入一个字符,再输入一个以回车结束的字符串(少于80个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出“Not
Found”。
#include
int i, k, temp; char str[81],ch,ch1; printf(\输入一个字符:\\n\ scanf(\ /*ch1在这里是吸收回车键*/ printf(\ i = 0;
while((str[i] = getchar( )) != '\\n') i++;
for(i=0;str[i]!='\\0';i++) {if(str[i]==ch) {k=i;temp=1;} } if(temp==1) printf( \这个字符最大的下标是:%d\ else printf(\ }
3.输入一个以回车结束的字符串(少于80个字符),统计并输出其中大写辅音字母的个数(大写辅音字母:除A、E、I、O、U以外的大写字母)。 #include
int i, k=0; char str[81]; printf(\ i=0;
while((str[i] = getchar( )) != '\\n') i++;
for(i=0;str[i]!='\\0';i++)
if(str[i]>='A'&&str[i]<='Z')
if(str[i]=='A'||str[i]=='E'||str[i]=='I'||str[i]=='O'||str[i]=='U') continue; else k++;
printf(\字符串中的大写辅音字符有:%d个\}
4. 输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串。
原字符 对应字母 A―――>Z B―――>Y C―――>X D―――>W ???? X―――>C Y―――>B Z―――>A
#include
int i, n; char str[81]; printf(\ i=0;
while((str[i] = getchar( )) != '\\n') i++;
for(i=0;str[i]!='\\0';i++)
if(str[i]>='A'&&str[i]<='Z') {n=str[i]-'A';
str[i]=(str[i]+25-n*2);}
printf(\变换后的字符串是:%s\\n\}
5. 输入一个以回车结束的字符串(少于80个字符),滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。
6. 用调试程序的方法找出下列程序的错误:
输入一个以回车结束的字符串(少于80个字符),把字符串中的所有数字字符(0~9)转换为整数,去掉其他字符。例如,字符串“3a56bc”转换为整数后是356。
源程序如下:
#include
int i,s=0;
char str[80];
i = 0;
while((str[i] = getchar( )) != '\\n')
i++; str[i] = '\\0';
for(i = 0;str[i]!='\\0'; i++) if(str[i] >= '0' || str[i] <= '9')
s = s * 10 + str[i]-'0';
printf(\
return 0; }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库字符串习题在线全文阅读。
相关推荐: