本文主要是介绍用指向指针的指针的方法对字符串和整数排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【问题1】
用指向指针的指针的方法对5个字符串排序。
【C语言】
#include<stdio.h>
#include<string.h>void sort(char **p) {int i, j, k;char *temp;for (i = 0; i < 4; i++) {k = i;for (j = i + 1; j < 5; j++)if (strcmp(*(p+k), *(p+j)) > 0)k = j;if (k != i) {temp = *(p+k);*(p+k) = *(p+i);*(p+i) = temp;}}
}int main() {char **p,*pstr[5],str[5][20];int i ;for(i=0;i<5;i++)pstr[i]=str[i];for(i=0;i<5;i++)scanf("%s",pstr[i]);p=pstr;sort(p);for(i=0;i<5;i++)printf("%s\n",pstr[i]);return 0;
}
【问题2】
用指向指针的指针的方法对n个整数排序。
【C语言】
/** 8-21.c** Created on: 2015年6月30日* Author: lenovo*/#include<stdio.h>void sort(int **p, int n) {int i, j;int *temp;for (i = 0; i < n - 1; i++) {for (j = i + 1; j < n; j++)if (**(p + i) > **(p + j)) {temp = *(p + i);*(p + i) = *(p + j);*(p + j) = temp;}}}int main() {int n;scanf("%d", &n);int **p, *pstr[20], a[n];int i;for (i = 0; i < n; i++)pstr[i] = &a[i];for (i = 0; i < n; i++)scanf("%d", &a[i]);p = pstr;sort(p, n);for (i = 0; i < n; i++) {printf("%d\t", *pstr[i]);}return 0;
}
这篇关于用指向指针的指针的方法对字符串和整数排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!