函数
-
函数不能同名会发生指代不明,但是在c++环境下可以函数重名
-
通过函数实现两个元素交换 ,址传递
值传递,只传递了变量的值,不会对原数据进行修改
址传递,对原数据进行了修改
-
当数组作为函数参数时,会退化成指针。int*a==int a[ ],首元素地址。
-
nums[i]=*(nums+i)
#include<stdio.h> void printfArray(int *nums, int n) { for (int i = 0; i < n; i++) { printf("%d ", *(nums + i));//nums[i]==*(nums+i) } printf("\n"); } int main() { int nums[10] = { 1,2,3,4,5 }; printfArray(nums, 10); return 0; }
随机数
-
int n=rand( );//伪随机
-
srand(time(0))//根据当前时间种随机种子
-
根据边界和范围。
srand(time(0)); int n = rand();
- 1到100闭区间
int n = rand()%100+1;
- [a,b]
int n = rand()%(b-a+1)+a;
- (a,b)
int n = rand()%(b-a-1)+(a+1);
习题九选四
#include<stdio.h> #include<stdlib.h> //九选四 int main() { srand(time(0)); int nums[9]; for (int i = 0; i < 9; i++) { nums[i] = i + 1; } for (int i = 0; i < 9; i++) { int n = rand() % 9; int temp = nums[i]; nums[i] = nums[n]; nums[n] = temp; } for (int i = 0; i < 4; i++) { printf("%d ", nums[i]); } return 0; }
-