请用#include<stdio.h>
要求输入任意两个数,要是质数的话,就打印“质数”,要不是,就打印出它们的因数,求共有几个质数,和质数的平均值。比如,输入9,13
打印:
9:3
10:2 5
11:质数
12:2 3 4 6
13:质数
一共有2 个质数
质数的额平均值是 12
程序会一直持续要求输入两个数,直到用户输入0为止。
帮帮忙吧,小妹感激不尽!!!
看看一下是我做的,
当我输入4的时候,居然说4是质数,然后又写出它的因数2, 不知道错在哪里, 而且,当用户第二次输入2个数字的时候,又有错误,比如,第一次输入9,13,共有2个质数,第二次我输入5,9,居然显示有4个质数,看傻了眼, 好像把第一次的都给加进去了,
# include <stdio.h>
int main ()
{
int x , y , a , b ,c,d ;
b=0;
c=0;
printf("please enter two numbers");
scanf("%d %d",&x,&y);
while( x !=0 && y !=0)
{
for (a=x; a<=y ;a++)
{
d=1;
for (int m = 2; m<a/2; m++)
if ( a%m == 0)
d = 0;
if(d == 1)
{
printf("%d:prime",a);
b++;
c=c+a;
}
else
printf("%d:",a);
for (int n = 2; n< a; n++)
if ( a%n == 0)
printf("%d ",n);
printf("\n");
}
printf("there are %d prime numbers.\n", b);
printf("the average value of the prime numbers is %d.\n",c/b);
printf("please enter two numbers");
scanf("%d %d",&x,&y);
}
}
[此贴子已经被作者于2007-9-30 15:42:16编辑过]