| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 685 人关注过本帖
标题:关于以5为步进的处理
只看楼主 加入收藏
mfkmax
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
结帖率:0
收藏
已结贴  问题点数:10 回复次数:12 
关于以5为步进的处理
以下类似数字以5为步进进行处理,请问有什么好方法

237 -> 235
232 -> 230
239 -> 240
搜索更多相关主题的帖子: 步进 
2009-10-23 10:45
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:3 
可以直接做啊
2009-10-23 10:47
mfkmax
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
收藏
得分:0 
能给个效率高点的算法吗?
2009-10-23 10:48
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
是不是只处理最后一位的数字啊?
2009-10-23 10:49
mfkmax
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
收藏
得分:0 
是的,最后一位数以5为步进进行处理,类似于四舍五入
2009-10-23 10:51
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
不知道你说的高效率的算法指什么,下面是一个对单个数进行操作的程序:
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    long n0,n1;
    int ge;
    printf("please input the number:\n");
    scanf("%ld",&n0);
    ge=n0%10;
    n1=n0/10;
    if(ge>=3&&ge<=7)
    ge=5;
    else if(ge>=8)
           {
               ge=0;
           n1+=1;
           }
    else
           ge=0;
    n0=n1*10+ge;
    printf("%ld",n0);
         
}
2009-10-23 11:05
mfkmax
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
收藏
得分:0 
哦,谢谢 ,请问还有没有效率高点的方法?
2009-10-23 11:23
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
你指的高效率是什么,是处理一批数呢,还是算起来更加简单的程序?
2009-10-23 11:25
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
收藏
得分:3 
对5求余,大于就加个5-余数,小于则减去余数.

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-10-23 11:35
mfkmax
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-23
收藏
得分:0 
就是能不能通过位运算来解决上面的问题,这样代码执行效率要高得多
2009-10-23 11:41
快速回复:关于以5为步进的处理
数据加载中...
 
   



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

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