#include<stdio.h>
main()
{
int a,b,c;
scanf("%d",&a);
for(b=2;b<=a;b++)
{
c=0;
while(a%b==0)
{
a=a/b;
c++;
}
if(c>1)
{
printf("%d^%d",b,c);
if(a>1)
{
printf(" * ");
}
}
else if (c>0)
{
printf("%d",b);
if(a>1)
{
printf(" * ");
}
}
}
}
#include
main()
{
int a,b,c;
scanf("%d",&a);
for(b=2;b<=a;b++)
{
c=0;
while(a%b==0)
{
a=a/b;
c++;
}
if(c>1)
{
printf("%d^%d",b,c);
if(a>1)
{
printf(" * ");
}
}
else if (c>0)
{
printf("%d",b);
if(a>1)
{
printf(" * ");
}
}
}
}
這題有很多測資,你只讀了一筆資料
用 while ( scanf("%d",&a) != EOF ) 把原本 scanf("%d",&a); 下面的所有程式包進迴圈
應該就可以了