用c语言完成应用一维数组,对10个数进行排序,使其按照从大到小的顺序输出。和从键盘输入两个字符串,将它们连接成一个字符串
时间: 2024-02-15 20:03:44 浏览: 80
好的,我来分别回答你的两个问题。
第一个问题,用 C 语言实现对 10 个数进行从大到小排序的程序可以这样写:
```c
#include <stdio.h>
void sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int arr[10] = {9, 7, 8, 3, 5, 4, 6, 2, 1, 0};
int i;
sort(arr, 10);
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序首先定义了一个数组 `arr`,并初始化了 10 个数字。然后调用 `sort` 函数对数组进行排序,最后输出排序后的结果。
第二个问题,用 C 语言实现从键盘输入两个字符串,将它们连接成一个字符串的程序可以这样写:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], str3[200];
printf("Enter the first string: ");
fgets(str1, 100, stdin);
printf("Enter the second string: ");
fgets(str2, 100, stdin);
str1[strlen(str1) - 1] = '\0'; // 去掉 str1 的换行符
str2[strlen(str2) - 1] = '\0'; // 去掉 str2 的换行符
strcpy(str3, str1);
strcat(str3, str2);
printf("The concatenated string is: %s\n", str3);
return 0;
}
```
这个程序首先定义了三个字符串变量 `str1`、`str2` 和 `str3`,分别用来存储第一个字符串、第二个字符串和合并后的字符串。然后通过 `fgets` 函数分别从键盘输入两个字符串,并去掉每个字符串的换行符。接着,将第一个字符串复制到 `str3` 中,再使用 `strcat` 函数将第二个字符串连接到 `str3` 的末尾。最后输出合并后的字符串。
阅读全文