在C语言中,因子分解是将一个整数分解为若干个较小的整数(因子)的乘积。当处理边界条件时,需要注意以下几点:
if
语句检查输入值是否大于0,如果不是,则提示用户输入正确的整数。int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
if (num <= 0) {
printf("输入错误,请输入一个正整数。\n");
return 1;
}
if (num == 1) {
printf("1的因子分解为: 1\n");
return 0;
}
int i;
for (i = 2; i * i <= num; i++) {
// 分解因子
}
if (num > 1) {
printf("%d", num);
}
综上所述,处理边界条件的代码如下:
#include<stdio.h>
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
if (num <= 0) {
printf("输入错误,请输入一个正整数。\n");
return 1;
}
if (num == 1) {
printf("1的因子分解为: 1\n");
return 0;
}
printf("%d的因子分解为: ", num);
int i;
for (i = 2; i * i <= num; i++) {
while (num % i == 0) {
printf("%d * ", i);
num /= i;
}
}
if (num > 1) {
printf("%d", num);
}
printf("\n");
return 0;
}