五种常见的计算机语言的数组的同异

以c为例

定义方式
数据类型 变量名[数组元素个数]。
例如: int Array[10]; 表示定义一个含10个int类型变量的一维数组。

[注]
1.Array数组大小并非为10,由于int所占的字节个数为4,10个int所占的字节为10*4=40个字节,即该数组的大小为40个字节。
2.Array数组最大可存储9个int类型变量(最后一个为’\0’)。
3.由于Array数组并没有显示给整型变量赋值,故每个整型变量为随机值。
4.第一个数组元素的地址为Array[0],并非为Array[1]。最后一个可以赋值的数组元素的地址为Array[8],而Array[9]中的值为’\0’。

赋值方式
整型赋值方式 int Array[5] ={1,2,3,4} ;通常一维数组初始化时,其第一维大小可以省略,如:int Array[ ];
字符型赋值方式 char Array[5] ={‘K’,‘I’,‘N’,‘S’,‘A’};可以等价于char Array[ ] = {‘K’,‘I’,‘N’,‘S’,‘A’};

[注]
1.当字符个数所占空间大小不等于数组大小时,省略第一维大小的数组与不省略第一维大小的数组不能等价。如:char Array[8] = {‘K’,‘I’,‘N’,‘S’,‘A’};不等价于char Array[ ] = {‘K’,‘I’,‘N’,‘S’,‘A’}。
2.当字符个数所占空间大小等于数组大小时,字符数中没有’\0’,故不能用表达式‘printf("%s",Array)’输出。

以c++为例

与C语言相同。

以Java为例

声明数组变量
数据类型[ ] 变量名称;例如:double [ ] mylist;

创建数组
1.元素类型[ ] 数组引用变量 = new 元素类型[数组大小];
例如:double[ ] mylist = new double[10];
2.元素类型[ ] 数组引用变量 = new 元素类型[数组大小];
例如:double mylist[ ] = new double[10];
上述语句表示创建一个有10个double型元素构成的数组,并将该数组的引用赋值给mylist。

[注]
1.创建数组后,他的元素被赋予默认值,数值型基本数据类型的默认值为0,char型的默认值为'\u0000',boolean型的默认值为false。
更多需要注意的点请参考上文以C为例

赋值方式
单独赋值:数组引用变量[下标] = 数值;例如:mylist[0] = 3.4; mylist[5] = 1.1;
更多赋值方式请参考上文以C为例。

以Python为例

定义方式:
Python中没有数组的数据结构,但列表很像数组,如:
直接定义:list = [0,1,2];
间接定义:list = range(0, 1000);
表示列表array的元素从0-999;
如果想让列表初始值全为0,可以用以下语句:list = [0 for x in range(0, 1000)];

赋值方式
直接赋值:list = [0]*10;
间接赋值:list = [0 for i in range(10)];
结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
0为数组内初始数据,10位数据长度。

以VB为例

定义方式:Dim 数组名字 (下界 To 上界) As 类型
例如:Dim array(1 To 20) As Integer; 表示定义一个一维数组 ,其上界30,下界是1 共20个元素。
Dim MarkVB(29) As integer;,表示该数组下表从0开始,元素也是20个。

[注]
1.数组大小=上界-下界+1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是用 C 语言编写的模拟文曲星上的猜数游戏: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #define DIGITS 4 void generateRandomNumber(int *number); void guessNumber(int *number, int maxGuesses); int main() { int number[DIGITS]; int maxGuesses; printf("Welcome to the number guessing game!\n"); printf("You need to guess a %d-digit number with no repeating digits.\n", DIGITS); printf("How many guesses do you want to have? "); scanf("%d", &maxGuesses); generateRandomNumber(number); guessNumber(number, maxGuesses); printf("The correct number was "); for (int i = 0; i < DIGITS; i++) { printf("%d", number[i]); } printf(".\n"); return 0; } // 生成随机数 void generateRandomNumber(int *number) { int used[10] = {0}; srand(time(NULL)); for (int i = 0; i < DIGITS; i++) { int digit; do { digit = rand() % 10; } while (used[digit]); used[digit] = 1; number[i] = digit; } } // 猜数字 void guessNumber(int *number, int maxGuesses) { int guess[DIGITS]; int guesses = 0; while (guesses < maxGuesses) { printf("Guess #%d: ", guesses + 1); scanf("%1d%1d%1d%1d", &guess[0], &guess[1], &guess[2], &guess[3]); int correct = 0, misplaced = 0; int used[DIGITS] = {0}; for (int i = 0; i < DIGITS; i++) { if (guess[i] == number[i]) { correct++; used[i] = 1; } } if (correct == DIGITS) { printf("Congratulations!\n"); return; } for (int i = 0; i < DIGITS; i++) { if (!used[i]) { for (int j = 0; j < DIGITS; j++) { if (i != j && guess[i] == number[j] && !used[j]) { misplaced++; used[j] = 1; break; } } } } printf("%dA%dB\n", correct, misplaced); guesses++; } printf("Sorry, you haven't guessed the right number!\n"); } ``` 代码解释: 1. 定义 `DIGITS` 常量表示数字的位数。 2. `generateRandomNumber()` 函数用于生成一个各位不同的随机数字,使用一个 `used` 数组记录哪些数字已经使用过了。 3. `guessNumber()` 函数用于进行猜数游戏,使用一个 `guess` 数组记录用户的猜测,使用一个 `used` 数组记录哪些数字已经被匹配过了。 4. 在 `main()` 函数中,首先提示用户游戏规则和要求输入猜测次数,然后生成随机数字并进行游戏,最后显示正确答案。 希望这个程序对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值