c语言 43当输入值为负值的时候不进行换行。

1、原始程序, 使以下程序在接收负数时不换行

#include <stdio.h>

int main(void)
{
    int i;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    while (i >= 0)
    {
        printf("%d ", i);
        i--;
    }
    putchar('\n');
    return 0;
}

2、方法1

#include <stdio.h>

int main(void)
{
    int i;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    if (i >= 0)
    {
        while (i >= 0)
        {
            printf("%d ", i);
            i--;
        }
        putchar('\n');
    }
    return 0;
}

3、方法2

#include <stdio.h>

int main(void)
{
    int i, cnt = 0;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    while (i >= 0)
    {
        printf("%d ", i);
        i--;
        cnt++;
    }
    
    if (cnt > 0)
    {
        putchar('\n');
    }
    return 0;
}

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

1、while语句

#include <stdio.h>

int main(void)
{
    int i;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    if (i >= 0)
    {
        while (i >= 0)
        {
            printf("%d ", i);
            i--;
        }
        printf("\n");
    }
    
    return 0;
}

#include <stdio.h>

int main(void)
{
    int i, j = 0;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    while (i >= 0)
    {
        printf("%d ", i);
        i--;
        j++;
    }
    if (j > 0)
    {
        printf("\n");
    }
    
    return 0;
}

2、do语句

#include <stdio.h>

int main(void)
{
    int i;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    if (i >= 0)
    {
        do
        {
            printf("%d ", i);
            i--;
        }
        while (i >= 0);
        
        printf("\n");
    }
    return 0;
}

3、for语句

#include <stdio.h>

int main(void)
{
    int i;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    if (i >= 0)
    {
        for(i; i >= 0; i--)
        {
            printf("%d ", i);
        }
        printf("\n");
    }
    
    return 0;
}

#include <stdio.h>

int main(void)
{
    int i, j = 0;
    puts("please input an integer.");
    printf("i = "); scanf("%d", &i);
    
    for (i; i >= 0; i--)
    {
        printf("%d ", i);
        j++;
    }
    if (j > 0)
    {
        printf("\n");
    }
    return 0;
}
原文地址:https://www.cnblogs.com/liujiaxin2018/p/14674766.html