[例項]計算所輸入資料的所有公約數

天馬司空發表於2020-09-28
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int input;
int main(void) {

	printf("請輸入一個數字,獲取它的公約數,輸入一個非正數以退出程式:___\b\b\b");
	scanf("%d", &input);


	while (input > 0)
	{
		printf("\n您輸入的數字是%d", input);
		printf("\n按Enter鍵繼續...");
		getchar();
		getchar();    //輸入部分

		int num = 1;
		int square = 1;
		while (square < input) {
			num++;
			square = num * num;
		}
		;  //獲取中間數
		printf("\n公約數為:");
		int i;

		for (i = 1; i <= num; i++)
		{
			if (input % i == 0) {
				if (input == (i * i))
				{
					printf("%d  ", i);
				}
				else {
					printf("%d和%d ", i, input / i);
				}
			}
		}
		printf("\n請輸入一個數字,獲取它的公約數,輸入一個非正數以退出程式:___\b\b\b");
		scanf("%d", &input);
		

	}
	printf("\n程式已退出!");
	printf("\n按Enter鍵繼續...");
		getchar();
		getchar();


}

重點在於中間數的獲取。

相關文章