斜体样式```c
//函数指针数组实现计算器的功能
#include<stdio.h>
int add(int x, int y)
{
return x+y;
}
int min(int x, int y)
{
return x-y;
}
int mul(int x, int y)
{
return xy;
}
int div(int x, int y)
{
return x/y;
}
//***************************************************
void menu()
{
printf(“\n");
printf("1.add 2.min\n");
printf("3.mul 4.div\n");
printf(“5.exit*********************\n”);
printf("**************\n”);
}
int main()
{
int rel = 0,input = 0,x,y;
int (*pl[5])(int, int)={0,add,min,mul,div};//函数指针数组
do
{
menu();
printf(“请输入一个数\n”);
scanf("%d",&input);
if(input>0 && input<=4)
{
printf(“请输入两个操作数\n”);
scanf("%d%d",&x,&y);
rel = pl[input](x, y);
printf("%d\n",rel);
}
}while(input);
}
```c
//void qsort (void* base, size_t num, size_t size,
// int (*compar)(const void*,const void*));
/*#include<stdio.h>
#include<stdlib.h>
void print_data(int arr[], int n)
{
int i;
for(i=0; i<n; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
int cmp_by_num(const void *e1, const void *e2)
{
return *(int *)e1 - *(int *)e2;
}
int main()
{
int sz;
int arr[10] = {7,4,3,1,8,5,2,6,9,0};
sz = sizeof(arr)/sizeof(arr[0]);
qsort(arr, sz, sizeof(arr[0]), cmp_by_num);
print_data(arr, sz);
return 0;
};
//使用qsort对整数的排序
*/
//使用qsort对结构体的排名
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Stu
{
char name[20];
int num;
};
int cmp_by_name(const void *e1, const void *e2)
{
return strcmp(((struct Stu*)e1)->name, ((struct Stu *)e2)->name);
}
void print_data(struct Stu arr[], int n)
{
int i = 0;
for(i=0; i<n; i++)
{
printf("%s %d\n",arr[i].name,arr[i].num);
}
}
int main()
{
int sz = 0;
struct Stu arr[3] = {{"zhangsan",15},{"lisi",20},{"wangwu",50}};
sz = sizeof(arr)/sizeof(arr[0]);
qsort(arr, sz, sizeof(arr[0]),cmp_by_name);
print_data(arr,sz);
return 0;
}
来源:CSDN
作者:qq_45892987
链接:https://blog.csdn.net/qq_45892987/article/details/104044575