猿问

输入n个整数并输出,用c语言表达

输入n个整数并输出,怎么用c语言表达
cheese_ki
浏览 3308回答 2
2回答

FOSS

//这个是用静态数组储存整数 #include<stdio.h> int main(void) {     int a[100],i=0,j;//如果n小于100的话就不需要用动态数组,或者你可以把100改成更大的数,比如100000000......      printf("请输入你要输入的数字,以ctrl+z结束:");     while(scanf("%d",&a[i])==1)     {         i++;     }     for(j=0;j<i;j++)     {         printf("%d ",a[j]);     }     return 0; } //用动态数组储存整数,这个是知道n的大小,避免浪费内存 #include <stdio.h> #include <stdlib.h> int main(void) {     int n1,i;     int *array;     printf("输入n的大小:");     scanf("%d",&n1);     array=(int*)malloc(n1*sizeof(int));//申请动态数组      printf("输入数据: ") ;     for(i=0;i<n1;i++)     {         scanf("%d",&array[i]);     }     for(i=0;i<n1;i++)     {         printf("%d ",array[i]);     }     free(array);     return 0; } //如果不知道n的值,也就是不管输入多少输出也多少的话,可以用下面的代码 #include<stdio.h> #include<malloc.h> int main(void) {     int *ptr = (int *)malloc(sizeof(int));     int i = 0, j, tempNum = 0;     printf("请输入n个整数,输入非数字表示结束:\n");     while(scanf("%d",&tempNum) == 1)     {         if(i == 0)         *ptr = tempNum;         if(i >= 1)     {         ptr = (int *)realloc(ptr, (i + 1) * sizeof(int));         *(ptr + i) = tempNum;     }         i++;     }     for(j = 0; j < i; j++)     {         printf("%d ",*(ptr + j));     }     printf("\n"); } //综上,还是第一种简单暴力......
随时随地看视频慕课网APP
我要回答