求C语言高手帮忙做一道编程题,谢了~

【问题描述】将一个正整数分解质因数。例如,输入90,输出90=2*3*3*5。提示:从最小的质数2除起。【输入形式】从键盘输入一个正整数。【输出形式】参见样例【样例输入输... 【问题描述】

将一个正整数分解质因数。例如,输入90,输出90=2*3*3*5。

提示:从最小的质数2除起。

【输入形式】
从键盘输入一个正整数。

【输出形式】
参见样例
【样例输入输出1】
Input a number: 90
90=2*3*3*5

【样例输入输出2】
Input a number: 12
12=2*2*3

【样例输入输出3】
Input a number: 17
17=17
【样例说明】下划线表示输入,等号两边无空格。 :后面有一个空格。注意字母的大小写

不要复制网上的代码,我交上作业服务器判定错误,因为分解后最后一个数字后面还有个* ,而要求是没有的......
展开
 我来答
老高19900103
2012-05-01
知道答主
回答量:56
采纳率:0%
帮助的人:19.8万
展开全部
编程题目不能靠别人,只有自己动手写才会得到最大的收获,思维的训练都是在思考练习中培养的,老是让别人替写,百害无一利。告诉你思路,自己尝试写:先判断输入的数据是不是质数,是就直接输出,不是的话就从除以2开始找能除尽的值,定义一个全局数组变量保存除数(质因数),然后写一个递归函数,最后一次从数组中输出。
weixyc
2012-05-01 · TA获得超过1129个赞
知道小有建树答主
回答量:763
采纳率:100%
帮助的人:547万
展开全部
#include<stdio.h>
main()
{
int n,i,m,t;
printf("Input a number:");
scanf("%d",&n);
m=n;t=1;
printf("%d=",n);
for(i=2;i<=n;i++)
if(n%i==0)
{
t=t*i;
printf("%d",i);
if(t!=m)printf("*");
n=n/i;
i=1;
}
printf("\n");
}
我自己写的哦,代码比较简单 ,有不懂可以问
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-05-01
知道答主
回答量:42
采纳率:0%
帮助的人:21.5万
展开全部
#include<stdio.h>
int main(){
int inputnumber=0;
int temp=0;
int i=2;
bool isfirst=1;
printf("Input a number:");
scanf("%d",&inputnumber);
temp=inputnumber/2;
printf("%d=",inputnumber);
while(i<temp){
if(inputnumber%i==0){
inputnumber/=i;
if(isfirst==1){
printf("%d",i);
isfirst=0;
}
else
printf("*%d",i);
continue;
}
i++;
}
if(inputnumber!=1)
printf("%d",inputnumber);
printf("\n");
}
我用的是CFree,测试没问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电子发烧友爱好者
2012-05-01 · TA获得超过187个赞
知道答主
回答量:452
采纳率:0%
帮助的人:142万
展开全部
这个蛮简单, 先用数 除以最小的从1开始的数,然后又重新开始除。知道除尽为止。输出
追问
能帮我写出代码吗?我还是不会。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式