初学C语言之近日小结2(补充篇)

这篇主要是纠正上次所发代码的错误:
奇偶数判断个数的代码修改

#include<stdio.h>

int main()
{
    int num;
    int a = 0;//a为奇数个数,初始化为零 
    int b = 0;//b为偶数个数,初始化为零 

    scanf("%d",&num);//读入一个整数 

    //判断几个奇偶数的个数的循环 
    while(0<num<100000)//规定整数范围,-1作为终止循环的数值,不算在内
    {
        if(num % 2 != 0 || num == 1)
            a = a + 1;
        else
            b = b + 1;
    }

    printf("%d %d", a, b);//输出个数的值 
    return 0;
}

这是上次写到一半的代码,经过学姐学长的指导与同学之间的讨论,主要存在两个错误:
循环里应该加入一个读入整数的步骤;判断奇数的条件缀余(这个主要是自己马虎大意所致)。下面是修改版:

#include<stdio.h>

int main()
{
    int num;
    int a = 0;//a为奇数个数,初始化为零 
    int b = 0;//b为偶数个数,初始化为零 

    scanf("%d",&num);//读入一个整数 

    //判断几个奇偶数的个数的循环 
    while(num != -1)//规定整数范围 
    {
        if(0<num<100000)
        {
            if(num % 2 != 0)
                a = a + 1;
            else
                b = b + 1;
        }
        scanf("%d",&num);
    }

    printf("%d %d", a, b);//输出个数的值 
    return 0;
}

倒计时代码的修改
原来的代码:

#include<stdio.h>
#include<windows.h> 

int main()
{
    int i;
    scanf("%d",&i);//读入初始时间的数字

    for(;i<=0;i--)//倒计时循环
    {
        system("cls");//清屏
        printf("%d", i);//输出倒计时数字
        sleep(1000);//停顿一秒
    }
    return 0;
}

这里的错误是由于自己的马虎,导致循环中的判断条件中的大于号误写成小于号,下面是修改版:

#include<stdio.h>
#include<windows.h> 

int main()
{
    int i;
    scanf("%d",&i);//读入初始时间的数字

    for(;i>=0;i--)//倒计时循环
    {
        system("cls");//清屏
        printf("%d", i);//输出倒计时数字
        sleep(1000);//停顿一秒
    }
    return 0;
}

总结
近期的代码错误一部分是由于自己的知识不足,更多的原因是由于自己编写能力还过于稚嫩,马虎大意,因此日后还要更加努力的去练习。

猜你喜欢

转载自blog.csdn.net/Yao_orange/article/details/81588345