zoukankan      html  css  js  c++  java
  • 竖式问题,紫书3.2例题

    strlen(s);
    sprintf(buf,"%d",abc); strchr(s,buf(1));

    返回字符串的已经定义过的部分的长度,不包括“”;

    向字符串输入(在保证在字符串空间够的情况下,即字符个数加一);

    判断字符串中是否含有某个字符,没有,返回NULL。

    这道题难度不大,但是在题目中关于for循环到底是从“100 10”开始,是作者弄错了;还是从“111,11”开始,作者这样做有其他深意?这一点网上有争议。

    我觉得是作者弄错了,以实验作为理由:

    代码:

    #include"iostream"
    #include"cstring"
    using namespace std;
    
    int main()
    {
        int count=0;
        char s[20],buf[99];
        scanf("%s",s);
        for(int abc=100;abc<=999;abc++)
        for(int de=10;de<=99;de++)
        {
            int x=abc*(de%10),y=abc*(de/10),z=abc*de;
            sprintf(buf,"%d%d%d%d%d",x,y,z,abc,de);
            int ok=1;
            for(int i=0;i<=strlen(buf);++i)
            if(strchr(s,buf[i])==NULL) ok=0;
            if(ok==1)
            {
                count++;
                printf("<%d>
    ",count);
                printf("%5d
    *%4d
    _____
    %5d
    %4d
    _____
    %5d
    
    ",abc,de,x,y,z);
            }
        }
        printf("%d",count);
     } 

    输入 108,有34种结果

    改为从“111 11”开始,输入108,只有四种结果,所以我认为是作者的失误

    如果思路不对,恳请大家指教

    柳暗花明又一村
  • 相关阅读:
    单点登陆的javascript类原创
    goole图标
    字符串string的相关应用
    今天心情好,发首我喜欢的歌天黑黑
    爱情幸福!
    linux虚拟实现
    页面显示的问题
    由我们MIS的老师,所引发的一点感想.
    有关PERL5和正则表达式
    本来没有什么好说的!
  • 原文地址:https://www.cnblogs.com/ucandoit/p/8319941.html
Copyright © 2011-2022 走看看