第一个题显示break出错了,不知道怎么改
第二题判断改为 str[i-1]!='\n'
修改如下,供参考:
//第一题
#include <stdio.h>
int main()
{
char str[1000] = { 0 };
int i = 0, j = 0, k;
printf("请输入字符串:");
for (i = 0; (str[i] = getchar()) != '\n'; i++, j++); //修改
printf("\n判断是否回文:");
for (i = 0, k = 1; i < j; i++) { //修改
if (str[i] != str[j - i - 1]) { //修改
k = 0; //修改
break;
}
}
switch (k)
{
case 1:printf("YES\n"); break;
case 0:printf("NO\n"); break;
default:
break;
}
return 0;
}
//第二题
#include <stdio.h>
int main()
{
char str[1000] = { 0 }, a[1000] = {0};
int i, j, k;
printf("请输入字符串:");
for (i = 0, j = 0; (str[i] = getchar()) != '\n'; i++, j++); //修改
for (i = 0, k = 0; i <= j; i++) {
if (str[i] != ' ')
a[k++] = str[i];
}
//a[k+1] = 0; // 修改
printf("\n输出字符串");
puts(a);
return 0;
}