搜索
查看: 2183|回复: 8
打印 上一主题 下一主题

习题求确认

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-17 20:00:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
本帖最后由 sycamore1990 于 2013-2-17 22:30 编辑

160页的习题:
1.求1~100之间所有偶数的和。
2.输入一个整数n(1<=n<=9),求n的阶乘。
167页的习题:
3.请尝试编写一个2分钟的倒计时。形如:2:00 1:59 1:58…… 1:00 0:59…… 0:02 0:01 0:00

我做的答案是这样:

1.****************************
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,i;
    a=0;
    i=1;
    while(i<=100)
    {
        if(i%2==0)
        {
            a=a+i;
        }
        i=i+1;
    }
    printf("%d",a);
    system("pause");
    return 0;
}


2.****************************
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,i,n;
    a=1;
    i=1;
    scanf("%d",&n);
    while(i<=n)
    {
        a=a*i;
        i=i+1;
    }
    printf("%d",a);
    system("pause");
    return 0;
}

3.******************************
#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);
    }
   
    sleep(5000);
    return 0;
}



这样对不对呢?自己试是可以。想确认一下,望大家指正。谢谢啦。


最佳答案

查看完整内容

第三题,这么写不够简介,其实没必要分段的,可以这么写 #include #include int main() { int time, min, sec; for(time = 120; time >= 0; --time){ system("cls"); min = time / 60; sec = time % 60; printf("%d:%.2d", min, sec); sleep(1000); } system("pause"); return 0; }
沙发
发表于 2013-2-17 20:00:24 | 只看该作者
第三题,这么写不够简介,其实没必要分段的,可以这么写

#include <stdio.h>
#include <stdlib.h>
int main()
{
        int time, min, sec;
    for(time = 120; time >= 0; --time){
        system("cls");
        min = time / 60;
        sec = time % 60;
        printf("%d:%.2d", min, sec);
        sleep(1000);
    }
   
    system("pause");
        return 0;
}

点评

比我写的简单,学习了~  发表于 2013-3-14 18:10
板凳
 楼主| 发表于 2013-2-18 11:30:37 | 只看该作者
啊嘞,肿么木人鸟我。
地板
发表于 2013-2-18 12:59:29 | 只看该作者
第三个错了
5#
 楼主| 发表于 2013-2-18 13:01:17 | 只看该作者
纨绔☆子弟 发表于 2013-2-18 12:59
第三个错了

麻烦纠正下。谢谢啦。。
6#
发表于 2013-2-18 19:58:20 | 只看该作者
本帖最后由 rosynirvana 于 2013-2-18 20:16 编辑

三个都没错,但是又都有点小问题
第一题

printf("%d",a);  //这里应该在%d后面加一个\n

而且这么写逻辑会更明晰一点
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int i, sum;
    sum = 0;
    for( i = 2; i <= 100; i+=2)
        sum += i;
    printf("%d\n",sum);
    system("pause");
    return 0;
}
第二题的问题在于,你没有检验n是否在1和9之间,所以应该这么改一下
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int result, a, i;
    result = 1;

    do{
        scanf("%d",&a);
      }while(a < 1 || a > 9);

    for(i = 1; i <= a; ++i)
      result *= i;

    printf("%d\n", result);

    system("pause");
    return 0;  
}
   


点评

谢谢啦。。。。感激不尽。。。  发表于 2013-2-18 22:05
7#
 楼主| 发表于 2013-2-18 22:04:02 | 只看该作者
rosynirvana 发表于 2013-2-18 19:58
三个都没错,但是又都有点小问题
第一题

thax....
8#
 楼主| 发表于 2013-2-18 22:06:12 | 只看该作者
习题。。。。。。。
9#
发表于 2013-3-8 20:08:07 | 只看该作者
sycamore1990 发表于 2013-2-18 13:01
麻烦纠正下。谢谢啦。。

#include <stdio.h>
int main()
{int a=0,b=0,c=0;//a秒b分c时
while(1>0)
{
system("cls");
printf("%d:%d:%d",a,b,c);
a=a+1;
if(a=60)
{
b=b+1;
a=0;
if(b=60)
{
c=c+1;
b=0;}
}
sleep(1000);
}
sleep(5000);
return 0;
}

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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