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

竖式问题

时间:2017-12-18 01:30:21      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:scanf   null   注意   string   class   strong   --   std   接受   

找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。

 

样例输入:

2357

样例输出:

<1>

..775

X..33

-----

.2325

2325.

-----

25575

The number of solutions = 1

#include<stdio.h>
 #include<string.h>
 int main()
 {
     char s[20],buf[99];//用于接受输入数字串
     int a,b,c,Count = 0;
     scanf("%s",s);//注意此处不需要取地址&
     for(int i=111;i<=999;i++)//遍历所有的三位数
     {
         for(int j=11;j<=99;j++)//遍历所有的两位数
         {
             a = i*(j%10);//上面的乘数
             b = i*(j/10);//下面的乘数
             c = i*j;//结果
             //进行是否满足要求的判断
             sprintf(buf,"%d%d%d%d%d",i,j,a,b,c);//将整型数存入字符数组buf
                                                     //便于进行判断
             int ok = 1;
             for(int k=0;k<strlen(buf);k++)
                 if(strchr(s,buf[k])==NULL) ok = 0;
             if(ok)
             {
                 Count++;
                 printf("<%d>\n",Count);
                 printf("%5d\nx%4d\n-----\n%5d\n%4d\n-----\n%5d\n",i,j,a,b,c);
             }
         }
     }
    printf("The number of the solutions = %d",Count);
     return 0;
 }

 

竖式问题

标签:scanf   null   注意   string   class   strong   --   std   接受   

原文地址:http://www.cnblogs.com/2228212230qq/p/8053728.html

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