| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 941 人关注过本帖
标题:求大神 实现变化的数字
只看楼主 加入收藏
依然破落小子
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-7-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:21 
求大神 实现变化的数字
用什么函数可以实现从1-10的变化呢?就是先输出1,1秒后由1变成2,就像秒表那样变的,求大神
2014-07-06 20:01
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
程序代码:
#include <stdio.h>
#include <unistd.h>

int main(void)
{
    int i = 1;
    while (1)
    {
        printf("%2d", i);
        i++;
        if (i > 10)
            i = 1;
        sleep(1);
        printf("\b\b");
    }
    return 0;
}


编译参数
gcc -Wall -std=c99 a.c -o a

VC的话可以用windows.h里面的Sleep函数 单位是毫秒也就是说要Sleep(1000)
2014-07-06 20:37
魑魅魍魉!
Rank: 3Rank: 3
来 自:亲爱MM肚子里!
等 级:论坛游侠
威 望:1
帖 子:61
专家分:149
注 册:2014-5-3
收藏
得分:3 
回楼上的,我拿去编译,怎么是错的
2014-07-07 01:16
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用魑魅魍魉!在2014-7-7 01:16:57的发言:

回楼上的,我拿去编译,怎么是错的

你用的啥编译环境?Win下要用GCC编译才可以 下面有编译方法
2014-07-07 08:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
算过这样输出一个'\b'要花多少时间?

授人以渔,不授人以鱼。
2014-07-07 09:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
如果整个程序只实现这么一个功能,那么2楼的代码就用得着。

授人以渔,不授人以鱼。
2014-07-07 12:49
solloter
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2014-7-7
收藏
得分:3 
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
2014-07-07 12:54
周满悦
Rank: 3Rank: 3
来 自:江苏
等 级:论坛游侠
威 望:2
帖 子:42
专家分:131
注 册:2014-6-21
收藏
得分:3 
//用VC6.0
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>

int main(void)
{
  int i = 1;
  for (; i < 11; i++)
  {
  system("color A");
  printf("\t\t %d", i);
  Sleep(2000);
  system("cls");
  }
}

我只是一个自学的。
2014-07-07 13:15
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
收藏
得分:3 
程序代码:
#include<stdio.h>
#include<windows.h>
int xxx();
int main(void)
{
    printf("%d",xxx());//第一次调用xxx()
    Sleep(2000);//隔两秒
    printf("%d",xxx());//第二次调用xxx(),因为间隔了两秒则+2
    return 0;
}
int xxx()
{//通过GetTickCount来计时,static来保留第一次运行的时间,之后每次运行该函数时与第一次的时间对比
    static DWORD x = 0;
    DWORD h = GetTickCount();
    if (x == 0 || ((h-x)/1000) == 0)
    {
        x = GetTickCount();
        return 1;
    }
    return ((h-x)/1000)+1;
}

一个单片机就让我头疼不已~~~
2014-07-07 15:13
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
收藏
得分:0 
回复 9 楼 dreamofgod
至于固定在1-10的功能,LZ可以去处理xxx()的输出值比如mod 10什么之类的

一个单片机就让我头疼不已~~~
2014-07-07 15:16
快速回复:求大神 实现变化的数字
数据加载中...
 
   



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

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