7-16 求符合给定条件的整数集 (15 分)

7-16 求符合给定条件的整数集 (15 分)

给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。

输入格式:
输入在一行中给出A。

输出格式:
输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。

输入样例:

2

输出样例:

234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543

方法1:一次性判断数字是否相同,无论是方法几,都需要注意if语句的位置,这也是初学者容易犯的错误之一
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int i,j,k,n;
	int count=0;
	scanf("%d",&n);
	for(i=n;i<=n+3;i++)
	{
		for(j=n;j<=n+3;j++)
		{
			for(k=n;k<=n+3;k++)
			{
				if(i!=j&&i!=k&&j!=k)
				{
					printf("%d%d%d",i,j,k);
					count++;
					//if语句一定要放到里面,他是用来添加输出的空格的
					//每一位都需要输出空格 
					if(count%6==0)
				{
					printf("\n");
				}else
				{
					printf(" ");
				}
				}
				
			}
		}
	}
	return 0; 
 } 
方法2:巧妙使用continue语句
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int i,j,k,n;
	int count=0;
	scanf("%d",&n);
	for(i=n;i<=n+3;i++)
	{
		for(j=n;j<=n+3;j++)
		{
			if(j==i) continue;
			for(k=n;k<=n+3;k++)
			{
				if(k==i||k==j) continue;
				printf("%d%d%d",i,j,k);
				count ++;
				//注意if语句是在for循环里面的
				//需要注意,末尾不能有多余的空格,可以被6整除说明是末尾,不能则不是 
			 if(count%6==0)
			 {
			 	 printf("\n");
			  } else
			  {
			  	printf(" ");
			   } 
		}
		} 
	}
	return 0;
 } 
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值