问题描述
- 竖式问题为什么vs2015通过不了?
-
题目:找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。
样例输入:2357
样例输出:
..775
X..33
.23252325.
25575The number of solutions = 1
#include
#include
#include
int main()
{
int count = 0;
char s[20], buf[99];
scanf_s("%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_s(buf, "%d%d%d%d%d", abc, de, x, y, z);
int ok = 1;
for (int i = 0; i < strlen(buf); i++)
if (strchr(s, buf[i]) == NULL) ok = 0;
if (ok)
{
printf("<%d>n", ++count);
printf("%5dnX%4dn-----n%5dn%4dn-----n%5dnn", abc, de, x, y, z);
}
}
}
printf("the total number is %d", count);
system("pause");
return 0;
}
解决方案
http://blog.sina.com.cn/s/blog_4979ec3e01016z3p.html
解决方案二:
http://www.cnblogs.com/sanghai/archive/2012/12/19/2825639.html