C语言:将一个正整数分解质因数。例如:输入90,打印出90=2 * 3 * 3 * 5。

#include <stdio.h>
int main(void)
{
	long i = 0;
	int b[20] = {0};//暂定该数有20个质因数
	int j = 0;
	long a = 0;
	int k = 0;
	printf("请输入一个正整数:");
	scanf("%d",&a);
	printf("输入的正整数为:%d \r\n",a);
	printf("%d = ",a);
	i = 2;
	while(i<=a)
	{
		if(a%i == 0 )
		{
			a = a/i;
			b[j] = i;		
			//得到一个约数后,要将i重置为1,重新寻找下一个约数
			i = 1;
			j++;
		}
		i++;
	}
	//打印成题目要求的格式
	for(k=0;k<j;k++)
	{	
		//最后一个乘数,不打印*
		if(j ==0 || k == j-1)
		{
			printf("%d",b[k]);
		}
		else
		{
			printf("%d*",b[k]);	
		}
	}
	printf("\r\n");
	return 0;
}
—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花