搜索
查看: 4086|回复: 17
打印 上一主题 下一主题

P167两分钟的倒计时该怎么编啊?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-15 23:07:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
这是我自己编的,但感觉很牵强,求正解~!!!不一样的地方能详细解释下更好。
#include <stdio.h>
int main()
{
int a=1,b=59;
    printf("2:00");
    sleep(1000);
    while(a>=0)
   {
   system("cls");
   printf("%d:%.2d",a,b);
   sleep(1000);
   b--;
   if(b<0)
  {
   a--;
   b=59;
  }
   }
sleep(50000);
return 0;
}

沙发
发表于 2013-2-16 12:06:57 | 只看该作者
还可以输入时间

#include <stdio.h>
int main()
{
        int a,c;
    while(2>0)
    {
    printf("这里是一个倒计时程序\n请输入分钟:\n");
    scanf("%d\n",&a);
    printf("其输入秒:");
    scanf("%d\n",&c);
    if ( 0<=a<60 && 0<=c<=60)
    {
    while(a>0||c>0)
    {
        if (c==0)
        {
        a=a-1;
        c=c+60;
        };
        c=c-1;
                printf("%d:%d秒倒计时\n",a,c);
                sleep(1000);
        system("cls");
    };
    }
    else printf("输入错误!!");
    printf("恭喜!!\a");
    };
    sleep(5000);
        return 0;
}
板凳
发表于 2013-2-17 22:18:40 | 只看该作者
我写的这样,不知对不:
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
    system("cls");
    printf("2:00");
    sleep(1000);
    system("cls");
    int a,b;
    a=1;
    b=59;
    while(b>=1)
    {
        system("cls");
        printf("%d:%.2d",a,b);
        b--;
        sleep(1000);
    }
    system("cls");
    printf("1:00");
    sleep(1000);
    system("cls");
    int c,d;
    c=0;
    d=59;
    while(d>=0)
    {
        system("cls");
        printf("%d:%.2d",c,d);
        d--;
        sleep(1000);//两分钟倒计时2:00
    }
   
    sleep(5000);
    return 0;
}[/mw_shl_code]
地板
发表于 2013-2-19 10:39:20 | 只看该作者
咱也有一个[mw_shl_code=c,true]#include <windows.h>                                        //头文件
#include <stdio.h>
#include <stdlib.h>

void show_time(int t_m,int t_s);                //函数原型
int main(void){
        int minutes,seconds;                                //声明两个变量,minutes,seconds
    minutes=2;                                                        //初始化为2分钟
    seconds=59;                                                        //初始化为59秒
   
        while(minutes>=0){
                show_time(minutes,seconds);                        //调用显示时间的函数
        Sleep(1000);
        if(seconds<=0){
                        minutes--;
            seconds=59;
            
        }else{
                        seconds--;
        }
    }
    Sleep(5000);
    return 0;
}

void show_time(int t_m,int t_s){                //定义显示时间的函数
    system("cls");
        printf("%d:%d\n",t_m,t_s);                        //把数据输出到屏幕
}[/mw_shl_code]
5#
发表于 2013-2-19 17:37:01 | 只看该作者
其实很简单的
#include <stdio.h>
int main()
{
        int a=120;
    while(a>=0)
    {
                printf("%d:%02d\n",a/60,a%60);
        system("cls");
        a=a-1;
     }
        sleep(5000);
        return 0;
}
6#
发表于 2013-2-19 17:40:37 | 只看该作者
我下午的时候看到这道题目也很头疼,开始还想循环嵌套,找时间的显示格式代码,后来发觉走入误区了,直接整除60就可以了。
当然,我提供的只是120秒的。如果想如入多少分的话,直接a=分*60+秒就可以了
7#
发表于 2013-2-20 09:52:15 | 只看该作者
thiewrj 发表于 2013-2-19 17:40
我下午的时候看到这道题目也很头疼,开始还想循环嵌套,找时间的显示格式代码,后来发觉走入误区了,直接整 ...

小白问一下,a%60是什么意思?

8#
发表于 2013-2-20 11:33:38 | 只看该作者
zuiyouji1 发表于 2013-2-20 09:52
小白问一下,a%60是什么意思?

a除以60的余数
9#
发表于 2013-2-20 11:38:01 | 只看该作者
rosynirvana 发表于 2013-2-20 11:33
a除以60的余数

哦,谢谢,刚才脑袋打铁了,居然没反应过来。
10#
发表于 2013-2-21 15:09:33 | 只看该作者
晕死,求代码详解
11#
发表于 2013-2-23 14:34:56 | 只看该作者
thiewrj 发表于 2013-2-19 17:40
我下午的时候看到这道题目也很头疼,开始还想循环嵌套,找时间的显示格式代码,后来发觉走入误区了,直接整 ...

倒计时不是2:00的格式么?能直接用秒数来代替?
12#
发表于 2013-2-24 22:06:01 | 只看该作者
q1005211955 发表于 2013-2-23 14:34
倒计时不是2:00的格式么?能直接用秒数来代替?

用剩余秒数计算出剩余的分和秒
然后再格式化输出
13#
发表于 2013-2-27 16:27:18 | 只看该作者
我是0基础的学员,这本书确实很通俗易懂,前两天就看了大半本,但是今天被这一道题难住了一天什么都没看光研究这道题了,思维进入一个死胡同,后来简单的看了下下一节学的while循环嵌套语句,再结合论坛里大家给的千奇百怪的答案(答案虽多但是没有我想要的特别精准的),于是我自己研究了一下用啊哈c编译器一试竟然成功了,现在分享给大家。
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b;
    a=1;
    printf("2:00");
    sleep(500);
    while(a>=0)
    {
                b=59;
        while(b>=0)
        {
                        system("cls");
            
                        if(b<=9)
                                printf("%d:0%d",a,b);
                        else
                                printf("%d:%d",a,b);
                        sleep(500);
            b=b-1;
            
        }
        
        a=a-1;
    }
    sleep(5000);
    return 0;
}
14#
发表于 2013-3-3 20:03:46 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
int main()
{int a=1,b=00,c;
printf("%d:%.2d\n",a+1,b);
        for(c=59;a>=00;c--)
    {
   if(c==0){a--;c=59;}
    if(a<0)break;
    Sleep(1000);
    system("cls");
       printf("%d:%.2d\n",a,c);
  }
        system("pause");
        return
15#
发表于 2013-3-3 20:04:20 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
int main()
{int a=1,b=00,c;
printf("%d:%.2d\n",a+1,b);
        for(c=59;a>=00;c--)
    {
   if(c==0){a--;c=59;}
    if(a<0)break;
    Sleep(1000);
    system("cls");
       printf("%d:%.2d\n",a,c);
  }
        system("pause");
        return 0;
}

点评

这个是最简洁的,写的好,赞一个。  发表于 2013-3-5 16:29
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表