请配合《基础C语言的基础(持续更新)》中函数部分观看效果更佳
要求
1.运用函数
2.输出四个随机数
创作思路与过程
- 第一步
有要求可知代码需要的头文件有
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
- 第二步
定义需要的函数
int generateNumber(int min, int max);
//产生4个随机数 保存到数组中
void initArray(int array[], int count);
bool isNumberExist(int array[], int temp,int num);//判断数组中是否包含一个数字
void show(int array[],int num);//输出数组
- 第三步
编写函数内的程序
如下要求
(产生一个随机数
则有返回值:int
令函数名: generateNumber
还需定义参数:min max)
int generateNumber(int min, int max){
srand(time(NULL));
return rand()%(max-min+1) + min;
}
void initArray(int array[], int count){
for (int i = 0; i < count; i++) {
//获取随机数
int temp = generateNumber(1, 9); //判断当前数组里面是否存在
bool result = isNumberExist(array, temp,4);
if (result == true) {
i--;
}else{
array[i] = temp;
}
}
}
bool isNumberExist(int array[], int temp,int num){
for (int i = 0; i < num; i++) {
if (array[i] == temp) {
return true;
}
}
return false;
}
void show(int array[],int num){
for (int i = 0; i < num; i++) {
printf("%d ", array[i]);
}
printf("\n");
}
- 第四步
将编写的函数运用到主函数中去
int main() {
int org[4] = {};
initArray(org, 4);
show(org,4);
return 0;
}
- 第五步
整理全体得
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
int generateNumber(int min, int max);
void initArray(int array[], int count);
bool isNumberExist(int array[], int temp,int num);
void show(int array[],int num);
int main(int argc, const char * argv[]) {
int org[4] = {};
initArray(org, 4);
show(org,4);
return 0;
}
int generateNumber(int min, int max){
srand(time(NULL));
return rand()%(max-min+1) + min;
}
void initArray(int array[], int count){
for (int i = 0; i < count; i++) {
int temp = generateNumber(1, 9);
bool result = isNumberExist(array, temp,4);
if (result == true) {
i--;
}else{
array[i] = temp;
}
}
}
bool isNumberExist(int array[], int temp,int num){
for (int i = 0; i < num; i++) {
if (array[i] == temp) {
return true;
}
}
return false;
}
void show(int array[],int num){
for (int i = 0; i < num; i++) {
printf("%d ", array[i]);
}
printf("\n");
}
检验运行结果
结果之一
反思
运用函数后主函数里的内容可以变得简单易懂,十分实用