搜索
查看: 2726|回复: 11
打印 上一主题 下一主题

[原创] 2分钟倒计时作业 自己写的 还能改进么?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-13 20:18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
    int n;
    n=120;
    while(n>=0)
    {
        if(n=120)  
        {
        system("color f");
        system("cls");
        printf("2:00");
        Sleep(1000);n=n-1;
        }
        while(n<120&&n>=70)
        {
        system("cls");
        printf("1:%d",n-60);
        Sleep(1000);n=n-1;
        }
        while(n<70&&n>=60)
        {
        system("cls");
        printf("1:0%d",n-60);
        Sleep(1000);n=n-1;
        }
        while(n<60&&n>=10)
        {
        system("cls");
        printf("0:%d",n);
        Sleep(1000);n=n-1;
        }
        while(n<10&&n>=0)
        {
        system("color c");
        system("cls");
        printf("0:0%d",n);
        Sleep(1000);n=n-1;
        }
        
    }
system("pause");
return 0;
}

初学者有点不大懂 有一点疑问:最外层的while(n>=0)
                                                   {
                                                    }
可不可以不要 如果不要会发生什么
还有while里面的 第一个n=120时 我用的if  如果用while 就停在2:00了 这又是为什么的,我今天脑子不大够用了
求解答,求鼓励,嘎嘎{:soso_e154:}
沙发
发表于 2013-4-14 00:41:27 | 只看该作者
来看看,正在纠结这个问题
板凳
发表于 2013-4-14 00:51:54 来自手机 | 只看该作者
本帖最后由 chaomi1998 于 2013-4-14 00:56 编辑

露珠可以用求余数办法进行改进 既将120/60的余数   分别定义进变量  然后分别显示
地板
 楼主| 发表于 2013-4-14 09:13:54 | 只看该作者
chaomi1998 发表于 2013-4-14 00:51
露珠可以用求余数办法进行改进 既将120/60的余数   分别定义进变量  然后分别显示

也是哦 多谢
5#
发表于 2013-4-14 09:29:39 | 只看该作者
来学习下     {:soso_e181:}
6#
发表于 2013-4-14 13:39:55 | 只看该作者
本帖最后由 chaomi1998 于 2013-4-14 13:42 编辑

楼主  我刚“发明”的高级算法   可以帮你把程序缩短到10行以内
我看你的那一大串头晕  于是把我写的通用版算法送你
可能这个在个位时候有点显示问题
[code=Cpp width=740px]while( time >= 0 )        /*循环到时间为0*/
                        {
                        system("cls");
                        printf("%d:%d:%d",hours,minutes,seconds);
                        time = time - 1 ;
                        hours = time / 3600 ;        /*计算小时分钟秒*/
                        minutes = time / 60 ;        
                        seconds = time % 60 ;
                        Sleep(1000) ;        /*暂停1秒*/
                        }[/code]
7#
发表于 2013-4-19 01:04:48 | 只看该作者
在6楼的程序上优化了一下。这样就可以倒数超过24小时的倒计时。
while( time >= 0 )        /*循环到时间为0*/
                        {
                        system("cls");
                        hours = (time / 3600)%24 ;        /*计算小时分钟秒*/
                        minutes =( time / 60)%60 ;        
                        seconds = time % 60 ;
                        printf("%d:%d:%d",hours,minutes,seconds);
                        time--1 ;
                        Sleep(1000) ;        /*暂停1秒*/
                        }
8#
发表于 2013-5-25 14:31:39 | 只看该作者
同上
# include <stdio.h>
# include <windows.h>

int main()
{
        int i;       
        printf("input i:\n");
        scanf("%d",&i);
        while(i >= 0)
        {
                system("cls");
                printf("%d:%d:%d",i/3600,i/60,i%60);
                Sleep(1000);
                i--;
        }
        return;
}
9#
发表于 2013-8-15 14:49:07 | 只看该作者
根据楼上几位修改的,和题目中要求的一样
#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秒*/
                /*
        if (minutes== 0 && seconds == 0)  
        {
                        break;
                }
        */
     }
    system("pause");
        return 0;
}
10#
发表于 2013-8-17 11:15:00 | 只看该作者
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
     int a;
     a=60;
     while(a>=0)
     {
      system("cls");
      printf("%d",a);
      Sleep(1000);
       a=a-1;   
    }
        system("pause");
        return 0;
}
11#
发表于 2013-8-25 15:23:10 | 只看该作者
楼主是初学者么?写得挺好的啊,我这种二逼汗颜啊,2:00的表现形式就卡壳了
12#
发表于 2014-1-18 21:05:07 | 只看该作者
hao shou jiao le !!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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