关于排序的方法及二维数组的使用

一.冒泡法排序

#include<stdio.h>
int main()
{
	int a[10], t, i, j, number;
	printf("请输入10个数据:\n");
	for (i = 0; i < 10; i++)
	{
		scanf_s("%d", &a[i]);
	}
	printf("\n");
	for (j = 0; j <9; j++)
	{
		for (i = 0; i < 9 - j; i++)
		{
			if (a[i] > a[i + 1])
			{
				t = a[i]; a[i] = a[i + 1]; a[i + 1] = t;
			}
		}
	}
	printf("排序结果:\n");
	for (i = 0; i <= 9; i++)
	{
		printf("%d\n", a[i]);
	}
	printf("请再输入一个数据:");
	scanf("%d", &number);
	for (i = 9; i >= 0; i--)
		if (number > a[i]) { a[i + 1] = number; break; }
		else a[i + 1] = a[i];
	if (number < a[0]) a[0] = number;
	for (i = 0; i <= 10; i++)
	{
		printf("%d\n", a[i]);
	}
	return 0;
}

二.选择法排序

#include<stdio.h>
#define N 10
int main()
{
	int i, j, t, a[N];
	printf("请输入要排序的10个数:\n");
	for (i = 0; i < N; i++)
		scanf_s("%d",&a[i]);
	for(i=0;i<N-1;i++)
		for(j=i+1;j<N;j++)
			if (a[i] > a[j])
			{
				t = a[j];
				a[j] = a[i];
				a[i] = t;
			}
	printf("排序的结果为:");
	for (i = 0; i < N; i++)
		printf("%5d",a[i]);
	return 0;
}

该选择法排序的思想是首先选择a[0]为对象,与它后面所有的元素比较,若后面的元素小,则与a[0]交换,使a[0]最小;其次将a[1]与它后面的所有元素比较。使a[1]为a[1]~a[9]中最小的数;依次进行,直到最后的a[8]与它后面的a[9]比较,使a[8]为a[8]~a[9]中的最小。这样便实现了10个数由小到大的排列。 选择法还有另外一种方式,就是每一趟只交换一次,对比较的最小数字进行一个标记,然后再把这个被标记的最小数与第一个数交换,同理第二个,第三个数。本来想敲下代码,发现我不会哎,上课讲完搞忘记了,也找不到了,本来想一起写的,算了算了,后面再补吧。

二维数组

应用举例

例题一:二维数组的输入和输出

#include<stdio.h>
int main()
{
	int i, j, a[3][3];
	for (i = 0; i <= 2; i++)
		for (j = 0; j <= 2; j++)
			scanf_s("%d",&a[i][j]);
	for (i = 0; i <= 2; i++)
	{
		for (j = 0; j <= 2; j++)
			printf("%5d",a[i][j]);
		printf("\n");
	}
	return 0;
}

例题二:有一个2行3列矩阵,要求编程序求出该矩阵的转置矩阵

#include<stdio.h>
int main()
{
	int a[2][3] = { {1,2,3},{4,5,6} };
	int i, j, b[3][2];
	printf("原矩阵为:\n");
	for (i = 0; i < 2; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("%5d",a[i][j]);
			b[j][i] = a[i][j];
		}
		printf("\n");
	}
	printf("转置矩阵为:\n");
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 2; j++)
			printf("%5d", b[i][j]);
		printf("\n");
	}
	return 0;
}

ok,今晚就先写这么多吧,欢迎评论指正!感觉可以稍微练习C语言游戏了,参考书《C语言课程设计与游戏开发实践教程》清华大学出版社。

评论

  1. 小木白
    博主
    Windows
    9月前
    2022-5-06 23:23:38

    {{keai}}

    • Kaworu
      博主
      小木白
      Windows
      7月前
      2022-7-08 8:01:45

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇