| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:为什么编的程序编译,组建没问题,但运行时结果不对?
只看楼主 加入收藏
JK2010010101
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-4-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
为什么编的程序编译,组建没问题,但运行时结果不对?
为什么编的程#include<stdio.h>
int su(int n)
{int i,j,k;
i=n%10;
j=n/10%10;
k=n/100;
if(n==i*i*i+j*j*j+k*k*k)
return 1;
else
  return 0;
}
void main()
{
int m,n;
scanf("%d",&m);
if(m>=100&&m<=999)
for(n=100;n<=m;n++)
if(su(n))
printf("%d,",n);
}
这是要求水仙花数?
我是一位初学者,哪位老师帮一下忙,谢谢序编译,组建没问题,但运行时结果不对?

[ 本帖最后由 JK2010010101 于 2011-4-23 21:26 编辑 ]
搜索更多相关主题的帖子: return 
2011-04-23 09:05
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
啥程序啊?
2011-04-23 09:16
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
代码拿来  有可能是你非法内存访问了

                                         
===========深入<----------------->浅出============
2011-04-23 09:18
JK2010010101
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-4-23
收藏
得分:0 
#include<stdio.h>
int su(int n)
{int i,j,k;
i=n%10;
j=n/10%10;
k=n/100;
if(n==i*i*i+j*j*j+k*k*k)
return 1;
else
  return 0;
}
void main()
{
int m,n;
scanf("%d",&m);
if(m>=100&&m<=999)
for(n=100;n<=m;n++)
if(su(n))
 printf("%d,",n);
}
这是要求水仙花数?
我是一位初学者,哪位老师帮一下忙,谢谢啊
2011-04-23 21:24
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
收藏
得分:2 
main()
{int i,j,k,n;
for(n=100;n<1000;n++)
{  
 i=n/100;     /*求这个三位数的百位*/
 j=n/10%10;      /*求这个三位数的十位*/
 k=n%10;      /*求这个三位数的个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("%-5d",n);}
 getch();}

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。可比:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
2011-04-23 21:48
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
收藏
得分:0 
回复 楼主 JK2010010101
你这个代码是要你输入一个数,如果输入的数是三位数,并且这个三位数是水仙花数,就输出该数。
如果输入的不是三位数或者该三位数不是水仙花数就没有输出。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。可比:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。main()
{int i,j,k,n;
for(n=100;n<1000;n++)
{  
 i=n/100;     /*求这个三位数的百位*/
 j=n/10%10;      /*求这个三位数的十位*/
 k=n%10;      /*求这个三位数的个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("%-5d",n);}
 getch();}
2011-04-23 21:52
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
你的程序没有错,但是你输入m时,要大于等于153,否则其数段内是没有水仙花数的。如,你输入个500看看。
2011-04-23 22:03
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:4 
回复 楼主 JK2010010101
if(m>=100&&m<=999)

  
for(n=100;n<=m;n++)
  if(su(n))
   printf("%d,",n);
}//注意要在if条件下
2011-04-23 23:12
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:4 
回复 8楼 huwengui
我很无语。
阅读代码要仔细
2011-04-23 23:18
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:10 
【所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。可比:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。】
学习啦!!!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-23 23:43
快速回复:为什么编的程序编译,组建没问题,但运行时结果不对?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049657 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved