#17546: 請問我哪裡寫錯了(C)


brianpon123@gmail.com (Brian Pon)

學校 : 不指定學校
編號 : 92206
來源 : [1.163.124.147]
最後登入時間 :
2019-05-04 18:23:21
a010. 因數分解 | From: [36.226.90.171] | 發表日期 : 2019-04-20 17:14

#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(" * ");
      }
  }
  
 }
}

 
#17563: Re:請問我哪裡寫錯了(C)


freedom501999@gmail.com (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25
a010. 因數分解 | From: [39.8.34.96] | 發表日期 : 2019-04-22 00:08

#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); 下面的所有程式包進迴圈

應該就可以了

 
ZeroJudge Forum