第1关:目标删除
任务描述
本关任务:给出的程序的功能是删除字符串(字符数组)s中所有的小写字母c。请改正程序中的错误,使它能得到正确的结果。
测试说明
测试输入:
abcdefg
预期输出:
The original string:
abcdefg
The string after deleted:
abdefg
#include "stdio.h"
#include "string.h"
int main()
{
char s[80];
int i,j;
scanf("%s",s);
printf("The original string: \n");
puts(s);
for(i=j=0;s[i]!='\0';)
{
if(s[i]== 'c')
for(j=i;s[j]!='\0';j++)
s[j]=s[j+1];
else i++;
}
printf("The string after deleted: \n");
puts(s);
return 0;
}
第2关:去除空格符
任务描述
本关任务:编写程序,功能是删除输入的字符串中的所有空格。字符串长度不超过30。
输入:
一行字符。
输出:
打印输出去除空格符后的结果字符串。
测试说明
测试输入:
Life is fantastic.
预期输出:
Lifeisfantastic.
#include<stdio.h>
#include<string.h>
main()
{
char s[30];
int i,j;
gets(s);
for(i=0;s[i]!='\0';)
{
if(s[i]==' ')
for(j=i;s[j]!=0;j++)
s[j]=s[j+1];
else i++;
}
puts(s);
}
第3关:字符串操作
任务描述
本关任务:编写程序,功能是将源字符串s中所有下标为奇数的字符或 ASCII码 为偶数的字符放入新字符(串)数组t中(规定第一个字符放在第0位中)。 并输出处理后新的字符串。
输入:
一行字符,长度小于20.
输出:
处理后的字符串。
测试说明
测试输入:
AABBCCDDEEFF
预期输出:
ABBCDDEFF
#include<stdio.h>
#include<string.h>
main()
{
char s[20],t[20];
int i,j=0;
gets(s);
for(i=0;s[i]!='\0';i++)
{
if(i%2!=0||s[i]%2==0)
{
t[j]=s[i];
j++;
}
}
t[j]='\0';
puts(t);
}
······通关成功······
如有问题,敬请斧正。