中易网

c语言:【输出三位数】

答案:1  悬赏:60  
解决时间 2021-04-28 10:42
  • 提问者网友:先森请一心
  • 2021-04-27 17:57
将数字 1~ 9 分成 3 个三位数,要求第 2 个三位数是第1个三位数的两倍,第3个三位数是第1个的三倍。即假定m为第 1个三位数,则第2个恰好为2*m, 第3个为 3*m,请输出这几个三位数.
最佳答案
  • 二级知识专家网友:懂得ㄋ、沉默
  • 2021-04-27 19:14
//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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息