c语言中用用数组排大小
时间: 2023-10-13 16:27:55 浏览: 92
下面是一个简单的示例代码来使用数组排序:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 2, 9, 1, 8, 6, 3, 7, 4}; // 定义一个整型数组
int n = sizeof(arr) / sizeof(arr[0]); // 数组元素个数
int i, j, tmp;
// 冒泡排序算法
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
// 输出排序后的数组
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
该程序定义了一个整型数组 `arr`,然后使用冒泡排序算法对数组进行排序。排序后,使用循环输出排序后的数组元素。
相关问题
C语言中用数组储存中文词语
在C语言中,如果需要存储中文词语,通常会使用字符数组(char array),因为中文字符属于Unicode编码范围,每个字符占用两个字节(即UTF-16编码)。以下是一个简单的例子:
```c
#include <stdio.h>
#include <wchar.h> // 引入宽字符头文件
#define MAX_WORDS 10 // 定义最大词数
#define CHARS_PER_WORD 2 // 每个中文词占用的字符数(这里假设UTF-16)
// 存储中文词语的结构体
typedef struct {
wchar_t* words; // 宽字符数组用于存放中文词语
int num_words; // 当前存储的词语数量
} ChineseWords;
ChineseWords chinese_array[MAX_WORDS]; // 数组实例
void add_word(const wchar_t* word) {
if (chinese_array[num_words].num_words + CHARS_PER_WORD > MAX_WORDS * sizeof(wchar_t)) {
printf("数组已满,无法添加更多词语。\n");
return;
}
chinese_array[num_words].words[chinese_array[num_words].num_words] = L'\0'; // 初始化新位置
wcscat(chinese_array[num_words].words, word); // 连接词语到数组
chinese_array[num_words].num_words += CHARS_PER_WORD;
}
int main() {
add_word(L"你好"); // 添加一个词
add_word(L"世界"); // 另外一个词
for (int i = 0; i < chinese_array[num_words].num_words / CHARS_PER_WORD; i++) { // 遍历并打印词语
wprintf(L"%s\n", chinese_array[i].words);
}
return 0;
}
```
在这个示例中,我们使用`wchar_t`来处理宽字符,并通过`wcscat`函数连接字符串。注意,数组大小需要足够大,以便存储所有可能的中文词语,且需要处理数组溢出的情况。
在c语言中用数组和for循环实现数的比较大小
在 C 语言中,你可以使用数组和 for 循环来比较两个整数数组元素的大小。假设我们有两个整数数组 `arr1` 和 `arr2`,并且它们的长度相等。以下是基本步骤:
```c
#include <stdio.h>
// 定义两个整数数组
int arr1[5] = {10, 20, 30, 40, 50};
int arr2[5] = {60, 70, 80, 90, 100};
// 使用 for 循环比较数组元素
int main() {
int i;
// 遍历数组
for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++) {
if (arr1[i] > arr2[i]) {
printf("arr1[%d]: %d is greater than arr2[%d]: %d\n", i, arr1[i], i, arr2[i]);
} else if (arr1[i] < arr2[i]) {
printf("arr1[%d]: %d is less than arr2[%d]: %d\n", i, arr1[i], i, arr2[i]);
} else {
printf("arr1[%d]: %d is equal to arr2[%d]: %d\n", i, arr1[i], i, arr2[i]);
}
}
return 0;
}
```
这个程序会逐个比较两个数组中的元素,并根据结果打印出相应的消息。
阅读全文