5-1 改错题

测试数据来自 nnu_contest/5c35a530f41362131d6fb820

作业已超过截止时间,您无法递交本题目。

输入字符串(英文句子),存于string数组中。对其中所有以a开始并以e结尾的单词做加密处理。
加密规则:若单词长度为偶数个字符,则将组成该单词的所有字母循环左移一次;否则循环右移一次。
例如,单词able经左移一次后变为blea,单词abide经右移一次后变为eabid。
【含有错误的源程序】
#include<stdio.h>
#include <ctype.h>
void wordchange(char str[])
{ int i,j,k,m; char c;
for(i=0;str[i];i++)
{ for(j=i,k=i;isalpha(str[k]);k++);
if(str[j]=='a' || str[k-1]=='e')
{ if((k-j)%2=0)
{ c=str[j];
for(m=k-1j;m>j;m--) str[m]=str[m+1];
str[k-1]=c;
}
else
{ c=str[k-1];
for(m=k-1;m>j;m--) str[m]=str[m-1];
str[j]=c;
}
}
i=k;
}
}
int main()
{ char string[80];
gets(string)
wordchange(string[80]);
puts(string);
return 0;
}

测试样例:
输入:

she is able to abide her.

输出:

she is blea to eabid her.

程序设计强化练习(第三周)

未认领
状态
已结束
题目
10
开始时间
2024-03-12 13:00
截止时间
2024-03-19 23:59
可延期
24.0 小时