c语言进行数据的多输入多输出

c语言中有一个标准输入函数,即:scanf函数,它可以读取输入的任意格式类型的数据。scanf函数也有返回值,返回类型为int类型,它返回成功读入的项目的个数。如果它没有读取任何项目(当它期望一个数字而您却键入了一个非数字字符串时就会发生这种情况,scanf()会返回0。当它检测到“文件结尾”(end of file)时,它返回EOF(EOF是在文件stdio.h中定义的特殊值,一般#define指令把EOF的值定义为-1,我们可以理解为:#define EOF -1)。
c语言中,所有的输入函数都共用同一个输入缓冲区,我们从键盘键入数据时,其实是将输入写入缓冲区中,当我们按下回车键时,scanf()函数从缓冲区中读取输入,刷新缓冲区。
让我们来看看这样一道c编程题:
这里写图片描述
如果是您,您会怎么做呢,看上去是很简单的吧,当时博主想了不少时间呢。输入数据事先不确定,而且不能每输入一个数据就按一次回车键,我们就想到了利用scanf()函数的特点想读取文件内容一样读取数据,知道我们按下ctrl+Z来表示文件结尾从而结束scanf()函数的数据读取,一下c语言代码时博主写的,按照题目要求,希望读者们能指出代码中不好的地方:

#include<stdio.h>
int main()
{
    int i = 0,t,j,k,a[10],N;
    while(scanf("%d",&a[i]) != EOF)
    {
        i++;
        if(i == 10)
        {
            break;
        }
    }
    N = i;
    for (i = 0;i < N - 1;i++)
    {
        for(j = 0;j < N - 1 - i;j++)
        {
            if(a[j] > a[j+1])
            {
                t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
        }
        for(k = 0;k < N;k++)
        {
            if(k == N - 1)
            {
                printf("%d\n",a[k]);
            }
            else
            {
                printf("%d,",a[k]);
            }
        }
    }

    return 0;
}
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值