7-117 4.19-显示所有约数及约数的个数 (10分)
编写一段程序,对代码清单4-15进行修改, 在显示所输入的整数值的所有约数后,显示约数的个数。
-----出自【明解C语言】练习4-19.
整数值:4
1
2
4
约数有3个。
注:若输入非正整数,则啥也不输出。
输入样例:
4
输出样例:
整数值:1
2
4
约数有3个。
题目没说清的是:当输入非正整数时以什么输出结束。并不是啥都不输出
试了几次后试出了
测试点全过代码如下
#include<stdio.h>
#include<math.h>
int main()
{
int n,num=0;
scanf("%d",&n);
if(n>0)
{
printf("整数值:");
for(int i=1;i<=n;i++)
if(n%i==0){
printf("%d\n",i);
num++;
}
printf("约数有%d个。\n",num);
}
else
printf("整数值:");
return 0;
}