竖式问题---题目意思难搞

先解释下题目,题目已经说明竖式其实就是小学的那种手算的过程,只不过这里用计算机输出。
整个题目其实就是字符匹配问题。buf就是临时存放的字符数组
strchr()函数就是在某个字符串中查找单个字符
sprintf就是向字符串中输出,具体可以百度

这是借鉴刘汝佳那本书代码

#include<stdio.h>
#include<string.h>
int main()
{
    char s[20];
    char buf[99];
    scanf("%s",s);
   int i,j,z;
    for(i = 111;i <=999;i++)
    {

        for(j =11;j <=99;j++)
        {
            int ok = 0;
            int x = i * (j % 10);
            int y = i * (j / 10);
             z = i * j;
            sprintf(buf,"%d%d%d%d%d",i,j,x,y,z);

            for(int k =0;k < strlen(buf);k++)
            {
                if(strchr(s,buf[k]) == NULL)
                    ok = 1;

            }
             if(!ok)
            printf("%d %d %d",i,j,z);//此处为了方便,跟样例输出格式不一样
        }


    }
    return 0;
}

在这里插入图片描述

发布了12 篇原创文章 · 获赞 1 · 访问量 166

猜你喜欢

转载自blog.csdn.net/malloc_yhs/article/details/104134743