c语言:【输出三位数】

将数字1~9分成3个三位数,要求第2个三位数是第1个三位数的两倍,第3个三位数是第1个的三倍。即假定m为第1个三位数,则第2个恰好为2*m,第3个为3*m,请输出这几个三... 将数字 1~ 9 分成 3 个三位数,要求第 2 个三位数是第1个三位数的两倍,第3个三位数是第1个的三倍。即假定m为第 1个三位数,则第2个恰好为2*m, 第3个为 3*m,请输出这几个三位数. 展开
 我来答
289723462
2016-05-15 · 超过13用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:19.4万
展开全部
//192 384 576
//219 438 657
//273 546 819
//327 654 981

#include <stdio.h>
#include <stdlib.h>

int checkStr( char * buf )
{
int arr[9] = {0};
int index = 0;

for ( ; index < 9; index ++ )
{
switch( buf[index] )
{
case '1':
{
arr[0] ++;
break;
}
case '2':
{
arr[1] ++;
break;
}
case '3':
{
arr[2] ++;
break;
}
case '4':
{
arr[3] ++;
break;
}
case '5':
{
arr[4] ++;
break;
}
case '6':
{
arr[5] ++;
break;
}
case '7':
{
arr[6] ++;
break;
}
case '8':
{
arr[7] ++;
break;
}
case '9':
{
arr[8] ++;
break;
}
}
}

if ( arr[0] == 1 && arr[1] == 1 && arr[2] == 1 && arr[3] == 1 && arr[4] == 1 &&
arr[5] == 1 && arr[6] == 1 && arr[7] == 1 && arr[8] == 1 )
{
return 1;
}

return -1;
}

void main()
{
int num = 100;
int max = 999 / 3;
char buf[10] = {0};

for ( ; num <= max; num ++ )
{
sprintf( buf, "%d%d%d", num, num*2, num*3 );

if ( checkStr( buf ) == 1 )
{
printf( "三个数为:%d %d %d\n", num, num*2, num*3 );
//break;
}
}

system( "pause" );

return;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式