数组
1.概念:数组是由单一类型的数据元素组成的有序数据集合,每个数据元素使用数组名和下标来表示。数组中的数据元素不但类型相同,而且存放在连续的内存单元中,这方便了程序对数据的快速查找和存取。因此,数组这种数据类型适合于处理批量相同类型的数据。
2.定义的语法格式为:
数据类型 数组名 [常量表达式];
3.注意:
(1)数组类型可以是除void型以外的任何一种基本数据类型(int、float、char等)
(2)数组名除了表示数组的名称外,还代表数组元素在内存中的起始地址,是一个地址常量
(3)[ ]叫做下标运算符
(4)如果某个数组元素没有被赋值,则它右面的数组元素也不可能有初始值
(5)数组定义中的常量表达式应该是unsigned int 型的正整数或const常量,表示数组中元素的个数
例:
int array[5]={1,2,3,4,5};
int a[3];
定义数组后,可以不用把数组元素全部列出来,但需要声明元素个数
用数组产生4个随机数
1.首先先了解一下随机数
我们将以时间作为随机数,这时需要引入时间头文件<time.h>和标准库头文件<stdlib.h>
以时间作为种子取随机数的格式:
unsigned int seed =time(NULL);
srand(seed);
之后在使用的时候,直接使用rand()即可
产生的数为任意随机数,如若要确定范围则对rand()取余
比如要产生0到9之间的随机数,int temp=rand()%9即可
例:产生4个不同的随机数
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
unsigned int seed =time(NULL);
srand(seed);
int a[4];
int temp;//产生随机数的同时和之前的比较是否重复,如果重复则重新产生随机数,如果不重复就写入
for(int i=0;i<4;i++){//每次i的值正好可以判断前面有几个数了
temp=rand()%4+1;
a[i]=temp;
if(i==0){
printf("%d",a[i]);
}
else{int j=0;
for(j;j<i;j++){//比较是否跟原来的相同
if(a[j]==temp)
break;//要么break跳出循环,要么j<i跳出循环
}
if(j==i){//如果执行此句语句,说明是输出了 a[j]==temp,即没有重复
printf("%d",a[j]);
}
else{//如果执行此语句,说明有重复,执行的是break,则用i--与i++抵消重新输入i
i--;
}
}
//printf("\n");
}
return 0;
}
网友评论