| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1236 人关注过本帖
标题:我正在自学,在这里卡死挂机了...有一些地方不懂,能不能解析一下,谢谢
取消只看楼主 加入收藏
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
回复 15楼 你的双手
我明白了,谢谢,我做的那个程序虽然乱七八糟的,但我还是不明白我错在哪了?还请大虾再帮忙解析下。

I have not failed completely
2012-10-21 16:19
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
在下还有一个问题请教老夫,不知当讲不当讲...总之我先讲了啊
           如果把程序改成:
            #include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>

int main(void)
{
    char A[100]={0};
    int i,PQ=0,c,v;
    bool OPQ=true;
    printf("请输入一段文字:\n");
    fgets(A,sizeof(A),stdin);
    c=strlen(A);
    for(i=0;i<c;i++)
    {
        if(isalnum(A[i])==0)
            A[i]=' ';
        else
        A[i]=tolower(A[i]);
    }
    i-=i;
         while(PQ<c)
         {
           if(A[PQ]==' '||A[i-PQ]==' ')
           {
               PQ++;
           continue;
           }
           if(A[PQ]!=A[i-PQ])
           {
              printf("\n这不是一个回文\n");
              OPQ=false;
              return 1;
           }PQ++;
         }
       if(OPQ==true)
       printf("\n这是一个回文\n");
    return 0;
}
是不是就行了勒,还请老夫赐教....

I have not failed completely
2012-10-21 16:57
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
当然啦,老夫如果吃不消的话也可以不回答的。作为一个合法公民,你有权保持沉默....

I have not failed completely
2012-10-21 17:10
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
回复 20楼 你的双手
哦!i应该-2才对哦,因为我用的是fgets输出,虽然能确保用户输入字符不超出但是fgets会默认加上\n\'0',于是strlen(A)就比用户输入的大2了,不过两边的空格还是个问题...哎,看来我这个方法还是行不通啊,还得多学习学习大虾们的逻辑啊....

I have not failed completely
2012-10-21 18:07
快速回复:我正在自学,在这里卡死挂机了...有一些地方不懂,能不能解析一下,谢 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038971 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved