首页 > 编程语言 > 详细

C语言设计

时间:2019-02-24 11:54:39      阅读:134      评论:0      收藏:0      [点我收藏+]

8.21

#include <stdio.h>

void bubbleSort(int **p, int n);

int main(void){

	int a[100];
	int *b[100];
	int n, i, **p;

	printf("Input your n(n < 100)\n");
	scanf("%d", &n);
	printf("Input your a[n]\n");
	for(i = 0; i < n; i++)
		scanf("%d", a + i);
	for(i = 0; i < n; i++)
		b[i] = a + i;
	p = b;
	bubbleSort(p, n);
	for(i = 0; i < n; i++)
		printf("%d ", *b[i]);
	printf("\n");
	return 0;
}

void bubbleSort(int **p, int n){
	int i, j, flag = 1;
	int *temp;
	for(i = 0; flag; i++){
		flag = 0;
		for(j = n - 1; j > i; j--){
			flag = 1;
			if(**(p + i) > **(p + j)){
				temp = *(p + i);
				*(p + i) = *(p + j);
				*(p + j) = temp;
			}
		}


	}
}

 8.20

#include <stdio.h>
#include <string.h>

void selectionSort(char **p);

int main(void)
{
	char a[5][30], *b[5], **p;
	int i;

	for(i = 0; i < 5; i++)
		b[i] = a[i];
	for(i = 0; i < 5; i++)
		scanf("%s", b[i]);
	p = b;
	selectionSort(p);
	printf("\n");
	for(i = 0; i < 5; i++)
		printf("%s\n", b[i]);
	return 0;
}

void selectionSort(char **p)
{
	int i, j, minj, n = 5;
	char *temp;
	
	for(i = 0; i < n - 1; i++)
	{
		minj = i;
		for(j = i; j < n; j++)
		{
			if(strcmp(*(p + j), *(p + minj)) < 0)
				minj = j;
		}
		temp = *(p + i);
		*(p + i) = *(p + minj);
		*(p + minj) = temp;
	}

}

 

C语言设计

原文:https://www.cnblogs.com/paprikatree/p/10425655.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!