有两个10个元素的数组,分别为A和B,编程实现相同位置的元素, 如果 B 的元素小于 A 的元素进行数值交换:(使用回调函数实现)
2015-06-25 21:23
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写游戏-从入门到精通(19)
- 用Python和Pygame写游戏-从入门到精通(17)
- 用Python和Pygame写游戏-从入门到精通(18)
- Django模块笔记【一】
- JDK8的怪东西,这门语言不能优雅点吗?
- 用Python和Pygame写游戏-从入门到精通(15)
- 用Python和Pygame写游戏-从入门到精通(14)
- Python使用__future__
- SpringMVC框架的搭建步骤-002
- 用Python和Pygame写游戏-从入门到精通(13)
- Spring学习资料汇总
- C++的常量
- 用Python和Pygame写游戏-从入门到精通(11)
- Java观察者模式
- Python动态导入模块
- (***)有两个10个元素的数组,分别为A和B,编程实现相同位置的元素, 如果 B 的元素小于 A 的元素进行数值交换:(使用回调函数实现)
- 用Python和Pygame写游戏-从入门到精通(10)
- 用Python和Pygame写游戏-从入门到精通(9)
- 【python】 入门 - 函数式编程
- C++文件操作详解(ifstream、ofstream、fstream)