(***)有两个10个元素的数组,分别为A和B,编程实现相同位置的元素, 如果 B 的元素小于 A 的元素进行数值交换:(使用回调函数实现)
2015-06-25 21:16
891 查看
main
int array_1[10] = {0};
int array_2[10] = {0};
setArray(array_1, 10);
setArray(array_2, 10);
printfArray(array_1, 10);
printfArray(array_2, 10);
changleArray(array_1, array_2, 10, swap);
printfArray(array_1, 10);
printfArray(array_2, 10);
.h
typedef BOOL (*CHANGLE)(int a[], int b[]);
void setArray(int a[], int count);
void printfArray(int a[], int count);
BOOL swap(int a[], int b[]);
void changleArray(int a[], int b[], int count, CHANGLE p);
.m
void setArray(int a[], int count){
for (int i = 0; i < count; i++) {
a[i] = arc4random()%51 + 10;
}
}
void printfArray(int a[], int count){
for (int i = 0; i < count; i++) {
printf("%d ", a[i]);
}
printf("\n\n");
}
BOOL swap(int *a, int *b){
return *a > *b ? YES : NO;
}
void changleArray(int a[], int b[], int count, CHANGLE p){
for (int i = 0; i < count; i++) {
if (p(&a[i], &b[i])) {
int temp = a[i];
a[i] = b[i];
b[i] = temp;
}
}
}
int array_1[10] = {0};
int array_2[10] = {0};
setArray(array_1, 10);
setArray(array_2, 10);
printfArray(array_1, 10);
printfArray(array_2, 10);
changleArray(array_1, array_2, 10, swap);
printfArray(array_1, 10);
printfArray(array_2, 10);
.h
typedef BOOL (*CHANGLE)(int a[], int b[]);
void setArray(int a[], int count);
void printfArray(int a[], int count);
BOOL swap(int a[], int b[]);
void changleArray(int a[], int b[], int count, CHANGLE p);
.m
void setArray(int a[], int count){
for (int i = 0; i < count; i++) {
a[i] = arc4random()%51 + 10;
}
}
void printfArray(int a[], int count){
for (int i = 0; i < count; i++) {
printf("%d ", a[i]);
}
printf("\n\n");
}
BOOL swap(int *a, int *b){
return *a > *b ? YES : NO;
}
void changleArray(int a[], int b[], int count, CHANGLE p){
for (int i = 0; i < count; i++) {
if (p(&a[i], &b[i])) {
int temp = a[i];
a[i] = b[i];
b[i] = temp;
}
}
}
相关文章推荐
- 用Python和Pygame写游戏-从入门到精通(10)
- 用Python和Pygame写游戏-从入门到精通(9)
- 【python】 入门 - 函数式编程
- C++文件操作详解(ifstream、ofstream、fstream)
- 调整eclipse字体大小?
- 用Python和Pygame写游戏-从入门到精通(7)
- 用Python和Pygame写游戏-从入门到精通(8)
- spring+mybatis基于 AOP实现业务日志管理
- 用Python和Pygame写游戏-从入门到精通(6)
- 用Python和Pygame写游戏-从入门到精通(5)
- 用Python和Pygame写游戏-从入门到精通(4)
- 用Python和Pygame写游戏-从入门到精通(3)
- maven中解决javax.servlet.jsp.PageContext cannot be resolved to a type
- 用Python和Pygame写游戏-从入门到精通(2)
- 求LR(0)文法的规范族集和ACTION表、GOTO表的构造算法
- Spring学习步骤-001
- 用Python和Pygame写游戏-从入门到精通(1)
- <Java>FileStream的read方法
- C++中相对路径与绝对路径以及斜杠与反斜杠的区别
- JAVA文件读写流