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

 

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

 

posted @ 2021-04-18 21:53  小鲨鱼2018  阅读(308)  评论(0编辑  收藏  举报