永发信息网

C语言100分求解

答案:3  悬赏:0  手机版
解决时间 2021-03-20 16:54
  • 提问者网友:書生途
  • 2021-03-19 19:25
C语言100分求解
最佳答案
  • 五星知识达人网友:大漠
  • 2021-03-19 20:23
#include 
#include 
int main()
{
    char str[100] = {0};  //定义一个字符数组,用于存储用户输入字符串.
    char *start,*end; //定义两个字符指针,分别用于指向头与尾.
    int flag = 1; //默认为回文.
    printf( "input:" ); //提示用户输入数据.
 
    scanf( "%s", str ); //获取用户输入数据.
 
    start = str; //指向输入数据的开始地址位置.
    end = str + strlen(str) - 1; //指向输入数据的末尾地址位置
 
    while( end >= start ) //末尾地址位置需大于开始地址位置
    {
       if( *end-- != *start++ ) //如果左右两边一次不相等,那么就不是回文.
       {
          flag = 0;
          break;
       }
    }
    if( flag ) //根据判断标记,输出对应结果.
    {
        printf("yes");
    }
    else
    {
        printf( "no" );
    }    
    return 0;    
}
全部回答
  • 1楼网友:走死在岁月里
  • 2021-03-19 22:52
#include
#include
void main()
{
char str[100];//定义一个字符串数组
int i,n,flag=1;
scanf("%s",str);
n=strlen(str);//计算str实际长度(不算'')
for(i=0;i  if(str[i]!=str[n-1-i])  {flag=0;break;} //如果不符合回文条件,flag赋值为0
if(flag)                                 //如果flag=1,就说明一直符合回文条件
  {
 printf("Yes");
  }
else                         //如果flag=0,就说明至少有一处不符合回文条件
  {
 printf("No");
  }
printf(" ");
}

 

  • 2楼网友:千夜
  • 2021-03-19 22:00
#include 
#include 

int main(void)
{
int i,ret;
char str[128]={0};

scanf("%s",str);

for(i=0; i {
if(str[i] == str[strlen(str) - 1 -i])
continue;
else
{
ret = 0;
break;
}
}
if(!(i ret = 1;


if(ret)
printf("yes");
else
printf("no");
}

运行无误,哈哈,望采纳

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯