再次升级的程序来了:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(void)
{
int a, b=0, n;
printf("请输入一个自然数:");
scanf("%d",&n);
if(n==1 || n==0){
printf("输入错误,0 和 1 既不是质数也不是合数\n");
exit (0);
}
for (a=2;a<=sqrt(n); a++) {
if ( n%a==0 ) {
++b;
}
}
if ( b >0 ) {
printf("%d:是一个合数\n",n);
printf("约数为:");
for(a=2;a<n;a++){
if(n%a==0) printf("%4d", a);
}
}
else if (b==0){
printf(" %d:是一个质数",n);
}
putchar(10);
return 0;
}
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(void)
{
int a, b=0, n;
printf("请输入一个自然数:");
scanf("%d",&n);
if(n==1 || n==0){
printf("输入错误,0 和 1 既不是质数也不是合数\n");
exit (0);
}
for (a=2;a<=sqrt(n); a++) {
if ( n%a==0 ) {
++b;
}
}
if ( b >0 ) {
printf("%d:是一个合数\n",n);
printf("约数为:");
for(a=2;a<n;a++){
if(n%a==0) printf("%4d", a);
}
}
else if (b==0){
printf(" %d:是一个质数",n);
}
putchar(10);
return 0;
}
Edsger Dijkstra:算法+数据结构=程序