DEV-C++ 求符合给定条件的整数集 C语言编程练习

给定不超过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

代码:

#include <stdio.h>
/*
观察输出可知每一轮循环j k 都会被还原成初始值。
*/
int main()
{
    
    
    int a=0,cnt=0;   //cnt用于计数
    scanf("%d",&a);
    int i=a,j=0,k=0;
    while(i<=a+3)
	{
    
    
    	j=a;//在每一轮循环中初始化j
    	while(j<=a+3)
		{
    
    
    		k=a;//在每一轮循环中初始化k
    		while (k<=a+3)
			{
    
    
    			if(i!=j&&i!=k&&j!=k)//当且仅当i,j,k不相等时输出
				{
    
    
    				cnt++;//此时计数+1
    				printf("%d%d%d",i,j,k);//通过三次循环得到的值一定i<j<k
    				if(cnt==6)//计数6次后换行
					{
    
    
    					printf("\n");
    					cnt=0;//计数归零
					}else
					  {
    
    
						printf(" ");//计数不满6次,每输出一次空一格
					  }
				}
				k++;//当不满足条件时,k优于i,j加1
			}
			j++;//当不满足条件时,j优于i加一
		}
		i++;
	}
    return 0;
}

猜你喜欢

转载自blog.csdn.net/admiumiu/article/details/107340777