| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 893 人关注过本帖
标题:大佬们 求解
只看楼主 加入收藏
wuxiami
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2022-7-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
大佬们 求解
//输入位数  在按输入的位数输入数字  判断是否回文数  并做成无限循环

#include<stdio.h>

void main()
{
    int shuzu[100];
    int weishu;
    int i;
    for (;;)                                   //无限循环
    {
        printf("输入要判断的数字位数\n");
        scanf_s("%d", &weishu);
        getchar();                 //注意这里getchar的目的
        printf("请输入要判断的数字:\n");

        for (i = 0; i < weishu; i++)
        {

            shuzu[i] = getchar();
        }
        //if (shuzu[i] == 'Y')  exit(0);
        //if (shuzu[i] == 'Y')  break;

        for (i = 0; i < (weishu / 2); i++)
        {
            if (shuzu[i] != shuzu[weishu - 1 - i])
            {
                break;
            }
        }
         

        if (i < (weishu / 2))
        {
            printf("\n不是回文数\n");
        }
        else
        {
            printf("\n是回文数\n");
        }
        //if (shuzu[i] == 'Y')  break;    //输入Y  退出无限循环
    }
   
    //return 0;
}

这里是一个判断回文数循环  如果遇到单独的Y退出
我现在想把他改成在输入时  输入数字个数不是一位  只要输入的多位数字或字符中含一个 Y就退出
如提示输入数字位数  输入6  提示输入数字  输入12345Y就可以退出
大佬们  小白求教  多谢
搜索更多相关主题的帖子: 输入 数字 循环 位数 printf 
2022-07-29 10:16
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:20 
好多逻辑上的 无意义且有害 的设定:
先输入位数 ------ 输入6,接着输入 123回车 怎么办?或输入 1234567回车 怎么办?或输入 UVWXYZ 怎么办?
输入Y ------ 输入y怎么办?或输入 ABC 怎么办?

而本来可以设定得很简单,比如:
输入一串不超过100字符长度的全数字字符串,判断是否为回文。若输入的不是全数字字符串,则退出。

[此贴子已经被作者于2022-7-29 14:46编辑过]

2022-07-29 14:44
wuxiami
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2022-7-17
收藏
得分:0 
回复 2楼 rjsp
关键是想搞明白怎么才解决到我说的情况,字母的话只要可以识别混在数字中间的 Y 就可以  别的不用管
有点不理解
希望各位大佬能给小白一些指导
多谢

[此贴子已经被作者于2022-7-29 22:29编辑过]

2022-07-29 17:16
快速回复:大佬们 求解
数据加载中...
 
   



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

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