啊哈磊_编程从这里起步

标题: P167两分钟的倒计时该怎么编啊? [打印本页]

作者: tomatokely    时间: 2013-2-15 23:07
标题: P167两分钟的倒计时该怎么编啊?
这是我自己编的,但感觉很牵强,求正解~!!!不一样的地方能详细解释下更好。
#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
还可以输入时间

#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;
}

作者: sycamore1990    时间: 2013-2-17 22:18
我写的这样,不知对不:
[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]
作者: l769829723    时间: 2013-2-19 10:39
咱也有一个[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]
作者: thiewrj    时间: 2013-2-19 17:37
其实很简单的
#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;
}

作者: thiewrj    时间: 2013-2-19 17:40
我下午的时候看到这道题目也很头疼,开始还想循环嵌套,找时间的显示格式代码,后来发觉走入误区了,直接整除60就可以了。
当然,我提供的只是120秒的。如果想如入多少分的话,直接a=分*60+秒就可以了
作者: zuiyouji1    时间: 2013-2-20 09:52
thiewrj 发表于 2013-2-19 17:40
我下午的时候看到这道题目也很头疼,开始还想循环嵌套,找时间的显示格式代码,后来发觉走入误区了,直接整 ...

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


作者: rosynirvana    时间: 2013-2-20 11:33
zuiyouji1 发表于 2013-2-20 09:52
小白问一下,a%60是什么意思?

a除以60的余数
作者: zuiyouji1    时间: 2013-2-20 11:38
rosynirvana 发表于 2013-2-20 11:33
a除以60的余数

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

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

用剩余秒数计算出剩余的分和秒
然后再格式化输出
作者: lingxiaopiaoluo    时间: 2013-2-27 16:27
我是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;
}
作者: PC519W8    时间: 2013-3-3 20:03
#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
作者: PC519W8    时间: 2013-3-3 20:04
#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;
}

作者: vince    时间: 2013-3-15 22:00
#include <stdio.h>
#include <windows.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;
}
作者: 费死劲    时间: 2013-8-15 15:00
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
        int time=120,minutes,seconds;
    while(time>=0)        /*循环到时间为0*/
        {
                system("cls");
        //hours = (time/3600)%24 ;        //计算小时分钟秒
        minutes =( time / 60)%60 ;        
        seconds = time % 60 ;
        if(seconds<10)
                        printf("%d:0%d",minutes,seconds);
        else
                        printf("%d:%d",minutes,seconds);
        time--;
        Sleep(100) ;        /*暂停1秒*/
     }
    system("pause");
        return 0;
}
作者: Stephen_GNLxW    时间: 2016-9-7 20:23
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
        int a;
    a=120;//两分钟就是120秒;
    system("color 0a");//改个好看的颜色;
    while(a>=0)//秒倒数到0就停止咯;
    {
                system("cls");//每次循环前不管三七二十一清屏一下;
                printf("%.2d:%.2d",a/60,a%60);//%.2d代表显示两位数,a/60代表分钟,a%60代表秒钟;
                a=a-1;//每次循环秒数减一;
        Sleep(1000);//当然要延迟1秒钟才能循环;
    }
        system("pause");
        return 0;
}
[/mw_shl_code]





欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2