#12221: c-----多一個*


jjooee1998 (yes,it unknown)

學校 : 高雄市立高雄高級中學
編號 : 66386
來源 : [223.136.216.11]
最後登入時間 :
2021-01-31 13:19:11
a010. 因數分解 | From: [36.238.228.242] | 發表日期 : 2017-06-16 09:52

前面部分應該沒什麼問題,不過最後總會多一個*

有沒有什麼函式可以刪掉輸出列的最後一個字元?就可以直接寫進去了~

還是應該怎麼改呢?請各位高手指教~

#include <stdio.h>

int main()
{
int t,i;
while((scanf("%d",&t)==1))
{
for(i=2;i<=t;i++)
{
int time =0;
while(t%i==0)
{
t=t/i;
time++;
}
if(time==1)
printf("%d*",i);
else
if(time>=1)
printf("%d^%d*",i,time);
}
}
return 0;
}

 
#12223: Re:c-----多一個*


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a010. 因數分解 | From: [140.115.204.235] | 發表日期 : 2017-06-16 10:01

2個printf都不要印*

後面加一個

if(t != 1 && time != 0)

            printf(" * ");




 
#12227: Re:c-----多一個*


jjooee1998 (yes,it unknown)

學校 : 高雄市立高雄高級中學
編號 : 66386
來源 : [223.136.216.11]
最後登入時間 :
2021-01-31 13:19:11
a010. 因數分解 | From: [36.238.232.159] | 發表日期 : 2017-06-16 18:11

2個printf都不要印*

後面加一個

if(t != 1 && time != 0)

            printf(" * ");






謝謝您!我過了!

 
ZeroJudge Forum