数组是C语言中极为有用的工具。这里要求掌握:1)定义数组;2)使用数组;3)初始化数组(如有必要)
【逆序输出10个数组元素】
从终端读入10个整数,然后逆序输出。
值得注意的是,定义a[10]表示数组有10个元素,这10个元素是a[0], a[1], ......, a[8], a[9],不包括 a[10]
这两道题首先要从标准输入读入10个数,然后再进行倒序输出或者排序
1 2 3 4 5 6 7 8 9 10 11 | int a[10]; /* 声明长度为10、类型为整型的数组 */ scanf("%d", &a[0]); scanf("%d", &a[1]); scanf("%d", &a[2]); scanf("%d", &a[3]); scanf("%d", &a[4]); scanf("%d", &a[5]); scanf("%d", &a[6]); scanf("%d", &a[7]); scanf("%d", &a[8]); scanf("%d", &a[9]); |
用循环就显得很简洁
1 2 3 | int i, a[10]; for (i=0; i<10; i++) scanf("%d", &a[i]); |
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> int main() { int i,a[10]; for (i=0; i<=9; i++) scanf("%d",&a[i]); for(i=9; i>=0; i--) printf("%d\n",a[i]); return 0; } |
在程序中使用宏来定义符号常量,不仅能够在一个地方统一管理,而且通过为常量定义名称,还可以是程序阅读起来更容易。如果在加上注释就更好了。
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> #define N 10 int main() { int i,a[N]; for (i=0; i<N; i++) scanf("%d",&a[i]); for(i=N-1; i>=0; i--) printf("%d\n",a[i]); return 0; } |
JAVA语言版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import java.util.Scanner; public class P1852 { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int i; final int N = 10; int[] a = new int[N]; for (i=0; i<N; i++) a[i] = cin.nextInt(); for(i=N-1; i>=0; i--) System.out.printf("%d\n",a[i]); } } |
【给数组赋初始值】
1 2 3 4 5 6 7 | int a[10]={0,1,2,3,4,5,6,7,8,9}; int a[10]={0,1,2,3,4}; 相当于 int a[10]={0,1,2,3,4,0,0,0,0,0}; int a[10]={0,0,0,0,0,0,0,0,0,0}; 相当于 int a[10]={0}; int a[5]={1,2,3,4,5}; 可写为 int a[ ]={1,2,3,4,5}; |