当前位置:   article > 正文

8.11 在主函数中输入十个等长的字符串。用另一函数对它们进行排序 //然后在主函数输出这10个已排好序的字符串。_在主函数中输入10个等长的字符串

在主函数中输入10个等长的字符串
//8.11 在主函数中输入十个等长的字符串。用另一函数对它们进行排序
//然后在主函数输出这10个已排好序的字符串。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main()
{
	void sort(char s[10][6]);
	int i;
	char str[10][6], *p[10];
	printf("输入十个等长的字符串:\n");
	for (i = 0; i < 10; i++) //输入10个字符串
	{
		scanf("%s", str[i]);
	}
	printf("交换前:\n");
	for (i = 0; i < 10; i++)
	{
		printf("%s\n", str[i]);
	}
	sort(str);
	printf("交换后:\n");
	for (i = 0; i < 10; i++)
	{
		printf("%s\n",str[i]);
	}
	return 0;
}
void sort(char s[10][6])
{
	//char t[20]; //不可写为 char t[20] 因为赋值方式不对
	char *p,temp[10];
	int i, j;
	p = temp;
	for (i = 0; i < 9; i++)  //<9而不是<10 因为下面j+1刚好是最后一个。
	{
		for (j = 0; j < 9 - i; j++)
		{
			if (strcmp(s[j], s[j + 1])>0)
			{
				strcpy(p, s[j]);
				strcpy(s[j], s[j + 1]);
				strcpy(s[j + 1], p);
			}
		}
	}

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

在这里插入图片描述

//8.12 在主函数中输入十个等长的字符串。用另一函数对它们进行排序
//然后在主函数输出这10个已排好序的字符串。使用指针数组处理。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main()
{
	void sort(char *s[]);
	int i;
	char str[10][20], *p[10];
	for (i = 0; i < 10; i++) //将
	{
		p[i] = str[i];
	}
	printf("input 10 string:\n");
	for (i = 0; i < 10; i++) //输入10个字符串
	{
		scanf("%s", p[i]);
	}
	printf("交换前:\n");
	for (i = 0; i < 10; i++)
	{
		printf("%s\n", p[i]);
	}
	sort(p[10]);
	printf("交换后:\n");
	for (i = 0; i < 10; i++)
	{
		printf("%s\n", p[i]);
	}
	return 0;
}
void sort(int *s[])
{
	//char t[20]; //不可写为 char t[20] 因为赋值方式不对
	char *t;
	int i, j;
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < 9 - i; j++)
		{
			if (strcmp(*(s + j), *(s + j + 1))>0)
			{
				t = *(s + j);
				*(s + j) = *(s + j + 1);
				*(s + j + 1) = t;
			}
		}
	}

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

此种地方方式交换函数执行有问题,未能解决。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/293028
推荐阅读
相关标签
  

闽ICP备14008679号