C语言中输入数据有2行,第一行为n,第二行是n个整数。

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:15:58
输出n个整数从小到大排列并另起一行输出每个数在的序数

  格式化输入数据使用stdio.h中提供的scanf函数就可以。原型:

int scanf(const char *format,...);

  scanf() 是从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。

  对于这n个整数,如果规模比较大的话,可以使用malloc申请堆空间来存储。malloc函数在stdlib.h中声明,它只有一个参数:要申请的空间大小,申请成功返回指向这块空间的指针,失败返回NULL。

  代码如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, i;
    int *arr;
    
    scanf("%d", &n);
    arr = malloc(sizeof(int) * n);
    for (i = 0; i < n; i++)
        scanf("%d", arr + i);
    
    free(arr);
 &nbs