第一行输入一个数n,第二行输入n个整数,按照倒序把n个数输出.(使用数组) c
第一行输入一个整数,很容易操作,直接scanf即可。
但是在第二行输入n个整数,并且赋值给一个整数数组,则不能直接实现,只能先把第二行输入的所有的数存入字符串,然后根据第一行输入的数,使用一个循环把字符串解析,然后挨个向整数数组赋值。
或者每输入一个整数,回车进行赋值。
格式化输入数据使用stdio.h中提供的scanf函数就可以。原型:
int scanf(const char *format,...); scanf() 是从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
对于这n个整数,如果规模比较大的话,可以使用malloc申请堆空间来存储。malloc函数在stdlib.h中声明,它只有一个参数:要申请的空间大小,申请成功返回指向这块空间的指针,失败返回NULL。
代码如下:
#include #include 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); return 0;}
按照题目的要求我们可以直接把数据存到数组之中,然后倒序输出数组元素即可,不需要对数据进行改变。
正确代码如下:
#include <stdio.h>
#define N 2000
int main () {
int i=0;
int n=0,a[N];
scanf("%d",&n);
for(i;i<n;i++){
scanf("%d",&a[i]);
}
for(i=n-1;i>=0;i--){
printf("%d ",a[i]);
}
return 0;
}
扩展资料:
数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。数组元素的类型是相同的不能够存储不同的数据类型。
数组的特点:
1、数组是相同数据类型的元素的集合。
2、数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
3、数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素。
对于VB的数组,表示数组元素时应注意:
2、下标要紧跟在数组名后,而且用圆括号括起来(不能用其他括号)。
2、下标可以是常量,变量,或表达式,但其值必须是整数(如果是小数将四舍五入为整数)。
3、下标必须为一段连续的整数,其最小值成为下界,其最大值成为上界。不加说明时下界值默认为1。
参考资料来源:百度百科-数组
第一行输入一个整数,很容易操作,直接scanf即可。
但是在第二行输入n个整数,并且赋值给一个整数数组,则不能直接实现,只能先把第二行输入的所有的数存入字符串,然后根据第一行输入的数,使用一个循环把字符串解析,然后挨个向整数数组赋值。
或者每输入一个整数,回车进行赋值。
c语言,如何实现第一行输入整数n,第二行输入n个整数,并将其赋值给一个...
第一行输入一个整数,很容易操作,直接scanf即可。但是在第二行输入n个整数,并且赋值给一个整数数组,则不能直接实现,只能先把第二行输入的所有的数存入字符串,然后根据第一行输入的数,使用一个循环把字符串解析,然后挨个向整数数组赋值。或者每输入一个整数,回车进行赋值。
第一行输入一个数n,第二行输入n个整数,按照倒序把n个数输出.(使用数组...
按照题目的要求我们可以直接把数据存到数组之中,然后倒序输出数组元素即可,不需要对数据进行改变。正确代码如下:include <stdio.h> define N 2000 int main () { int i=0;int n=0,a[N];scanf("%d",&n);for(i;i<n;i++){ scanf("%d",&a[i]);} for(i=n-1;i>=0;i--){ pr...
题目是第一行输入整数n,第二行输入n个整数,输出其中7的个数。我的代码...
int main(){ int n,num;scanf("%d",
C语言第一行输入一个正整数,第二行输入n个正整数,输出n个整数中没有...
int min=0;scanf("%d",&n);\/\/数组长度 for(int i=0;i<n;i++)scanf("%d",&a[i]);\/\/输入n个数 min=a[0];for(int i=0;i<n;i++)if(min>a[i])min=a[i];\/\/找出数组中最小的数;printf("%d",min-1);\/\/未出现的最小整数就是n个整数中最小的整数前一个数(最小数减...
C语言 输入一个正整数n,再输入n个整数,输出最小值。下面写了2个程序...
第一个 不能动态定义数组大小 即不能 int n;printf("Input n:");scanf("%d",&n);int a[n];而且要将 min=a[0] 放到for 语句外面 另外这两个的scanf语句 都没有加 取址符 & 在第二个基础上修改如下 include<stdio.h> int main(){ int n,i,a[100],min;printf("Input n:");sca...
...按ASCII值从大到小排序后输出。 第一行输入n,第二行输入n个...
void main(){ char a[100],t;int i,j,n;scanf("%d",&n);for(i=0;i<=n;i++)scanf("%c",&a[i]);for(i=0;i<n;i++)for(j=0;j<n-i;j++)if(a[j]<a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<=n;i++)printf("%c",a[i]);printf("...
怎么实现输入数据有2行,第一行为n,第二行是n个数。
先读第一行的n 在写一个长度为n+1的循环度第二行。。。应该可以的
编写一个程序,从键盘先输入n的值,然后输入n个正整数,输出每个数出现的次...
编写一个程序,从键盘先输入n的值,然后输入n个正整数,输出每个数出现的次数 输入:第一行n(5<n<30)是一个整数,表示要输入整数的个数;第二行是n个整数,每个整数均小于100000输出:按照整数从小到大的顺序依次输出不同的整数及其出现次数,整数和出现次数之... 输入:第一行n(5<n<30)是一个整数,表示要输入...
java求解,从键盘输入n个数,要求第一行输入n的值,第二行输入n个数。
实现从键盘读入n个数,第一行输入n,第二行输入n个数,1、循环输出n个数 2、求和 3、求平均值 4、升序排序后输出 \/ public static void nSort() { int n;double sum = 0;double average = 0;Scanner sc = new Scanner(System.in);n = sc.nextInt();double[] nums = new double[n]...
编写一个c程序,输入一个整数n,根据n的值在屏幕上输出相应图案例如:输入n...
h> main(){ int n,i,m;printf("input n\\n");scanf("%d",&n);for(i=0;i<n;i++){ for(m=0;m<=i;m++)printf("*");printf("\\n");} } 你的意思是不是输入n:然后第一行输出一个 第二行两个 ...第n行n个 上面就是这个程序。不是的话就追问吧。