1
#include <stdio.h>
int factor_power(int n,int d);
int main()
{
int input;
do
{
printf("Enter an integer (> 1): ");
scanf("%d",&input);
}while(input<2);
printf("%d = ", input);
int current=input;
int i;
for(i=2; i<=current; i++)
{
int power=power_factor(current,i);
if(power!=0)
{
current=(int) (current/pow(i, power));
printf("%d^%d * ",i,power);
}
}
return 0;
}
int power_factor(int n, int d)
{
int power=0;
if(d<=n)
{
while(n%d==0)
{
power++;
n=n/d;
}
return power;
}
return 0;
}
Здравствуйте, я новичок в C. У меня проблема с выходом кода выше. Если вы запустите код, вы увидите, что в конце вывода есть дополнительный *. Поскольку C не имеет класс строк, как я могу избавиться от * в конце. Я знаю, что добавление строки - это варианты, но есть ли более быстрый и эффективный способ решения этой проблемы?Как я могу выполнить эту операцию?
спасибо. Это сработало. –
@Robin Примите решение (V), если оно разрешено. – BLUEPIXY