码迷,mamicode.com
首页 > 其他好文 > 详细

竖式问题,紫书3.2例题

时间:2018-01-20 12:43:06      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:bsp   color   blog   names   部分   null   har   string   sprintf   

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

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

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

判断字符串中是否含有某个字符,没有,返回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>\n",count);
            printf("%5d\n*%4d\n_____\n%5d\n%4d\n_____\n%5d\n\n",abc,de,x,y,z);
        }
    }
    printf("%d",count);
 } 

输入 108,有34种结果

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

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

竖式问题,紫书3.2例题

标签:bsp   color   blog   names   部分   null   har   string   sprintf   

原文地址:https://www.cnblogs.com/ucandoit/p/8319941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!