用c语言编写程序,从键盘随机输入十个整数存入数组a中,按由大到小顺序排序后输出。小写字母和数字的个数。
时间: 2024-09-19 17:13:21 浏览: 50
在C语言中,你可以使用`scanf`函数从键盘获取用户输入的十个整数,然后通过`qsort`函数对数组进行降序排序,最后统计字符串中小写字母和数字的数量。以下是详细的步骤:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 比较函数,用于qsort排序
int compare(const void* a, const void* b) {
return (*(int*)b - *(int*)a);
}
int main() {
int arr[10], i;
char ch;
// 输入十个整数并存储
printf("请输入10个整数:\n");
for (i = 0; i < 10; ++i) {
scanf("%d", &arr[i]);
}
// 对数组进行降序排序
qsort(arr, 10, sizeof(int), compare);
// 输出排序后的数组
printf("排序后的数组(由大到小):\n");
for (i = 0; i < 10; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
// 初始化计数器
int lower_count = 0, digit_count = 0;
// 遍历输入的字符串,统计小写字母和数字
while ((ch = getchar()) != EOF && ch != '\n') { // getchar 清理上一次输入的回车符
if (isalpha(ch)) { // 判断是否为字母
if (tolower(ch) >= 'a' && tolower(ch) <= 'z') {
lower_count++;
}
} else if (isdigit(ch)) { // 判断是否为数字
digit_count++;
}
}
printf("小写字母数量: %d\n", lower_count);
printf("数字数量: %d\n", digit_count);
return 0;
}
```
阅读全文