用C语言求987654321最大质因子的算法,一直运行不出来(VC++6.0),本人刚刚开始学习语言求大神帮忙

[复制链接]
查看11 | 回复7 | 2021-1-27 06:45:35 | 显示全部楼层 |阅读模式
987654321分解质因数,所得到的最大的质因子是
#include
intprinn(intx){
intd,i;
d=x-1;
for(d;d>=2;d--)
for(i=2;i=3;x--){
d=prinn(x);
c=x%d;
if(c==0)
printf("&d",d);
break;
}
}


分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:45:35 | 显示全部楼层
main中那句输出要这样写:printf("%d",d);
另外我测试了下,最后c不为0,if不成立,所以就什么也没输出了
另外编译时有个警告,prinn函数不是所有路径都有返回值,楼主检查下
回复

使用道具 举报

千问 | 2021-1-27 06:45:35 | 显示全部楼层
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VSIDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

回复

使用道具 举报

千问 | 2021-1-27 06:45:35 | 显示全部楼层
intprinn(intx)
{
for(intk=2,kk=sqrt(x+0.5);k
回复

使用道具 举报

千问 | 2021-1-27 06:45:35 | 显示全部楼层
引用1楼paschen的回复:main中那句输出要这样写:printf("%d",d);
另外我测试了下,最后c不为0,if不成立,所以就什么也没输出了
另外编译时有个警告,prinn函数不是所有路径都有返回值,楼主检查下

谢谢大神,输出语句已经改了,我要找最大能整除的数字,但是能整除是不是就是取余为零啊?还有大神你用的是哪一个软件,我这个没有出警告,谢谢


回复

使用道具 举报

千问 | 2021-1-27 06:45:35 | 显示全部楼层
找到一个可以解决的算法,贴出来但是还是想把自己的算法挑对
回复

使用道具 举报

千问 | 2021-1-27 06:45:35 | 显示全部楼层
引用4楼programonky的回复:Quote: 引用1楼paschen的回复:main中那句输出要这样写:printf("%d",d);
另外我测试了下,最后c不为0,if不成立,所以就什么也没输出了
另外编译时有个警告,prinn函数不是所有路径都有返回值,楼主检查下

谢谢大神,输出语句已经改了,我要找最大能整除的数字,但是能整除是不是就是取余为零啊?还有大神你用的是哪一个软件,我这个没有出警告,谢谢


可以这么判断,我用VS2012,警告:warningC4715:“prinn”:不是所有的控件路径都返回值
回复

使用道具 举报

千问 | 2021-1-27 06:45:35 | 显示全部楼层
引用5楼郢辰的回复:找到一个可以解决的算法,贴出来但是还是想把自己的算法挑对
#include
voidmain(void)
{
inti,a;
printf("请输入一个整数");
scanf("%d",&a);
for(i=2;a!=1;i++)
if(a%i==0)
{
a/=i;
printf("%d",i);
i--;
}
printf("\n");
}

手机手打,有错误请见谅
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行