100~1000之间各个位数数字之和=n的整数.cpp

来自「我正在学习C编程」· C++ 代码 · 共 44 行

CPP
44
字号
#include<stdio.h>   /**/
void main()
{
	while(1)
	{
		printf("\n\t求100~1000之间各个位数数字之和﹦n (n<=0或n>27时结束)的整数\n\n");
		int n;
		printf("  输入n的值: "); scanf("%d",&n);
		if(n<=0||n>27) {break;}
		//方法1
		int x,y,z,i,m,h,num=0;
		for(i=100;i<1000;i++)
		{
			m=h=i;
			x=h%10;        //x获得个位数字
			h=h/10;y=h%10; //y获得十位数字
			h=h/10;z=h%10;  //z获得百位数字
			if(x+y+z==n)
				{printf("  %-6d",m);	num++;
				 if(num%8==0){printf("\n");} //8个一行
				}
		}
		/*//方法2
		int x,y,z,num=0;
		for(x=1;x<10;x++)
		{
			for(y=0;y<10;y++)
			{
				for(z=0;z<10;z++)
				{
					if(x+y+z==n){printf("  %-6d",100*x+10*y+z); num++;
								 if(num%8==0)printf("\n"); //8个一行
								}
				}
			}
		}*/
		printf("\n\t100~1000之间各个位数数字之和﹦%d的整数共有%d个",n,num);
		printf("\n\n\t欲继续显示吗?是则回车,否则输入‘空格’回车 ");
		getchar();
		if(getchar()==' ')break;
		else {while(getchar()!='\n'){;}}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?