用C语言用选择法对10个正数排序,10个整数要用scanf函数输入。
时间: 2023-11-21 18:59:04 浏览: 90
以下是一个用选择法对10个正数排序的C语言程序,其中使用了scanf函数输入10个整数:
```c
#include <stdio.h>
int main() {
int a[10], i, j, min, temp;
printf("请输入10个正整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < 9; i++) {
min = i;
for (j = i + 1; j < 10; j++) {
if (a[j] < a[min]) {
min = j;
}
}
if (min != i) {
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
程序首先使用scanf函数输入10个正整数,然后使用选择法对这些数进行排序,最后输出排序后的结果。
相关问题
c语言用函数的方式输入10个整数存入一维数组,统计输出其中的正数、负数和零的个数。
好的,这个问题可以回答。以下是对应的C代码:
```C
#include <stdio.h>
void count_nums(int nums[], int len) {
int zero_count = 0;
int pos_count = 0;
int neg_count = 0;
for (int i = 0; i < len; i++) {
int num = nums[i];
if (num > 0) {
pos_count++;
} else if (num < 0) {
neg_count++;
} else {
zero_count++;
}
}
printf("正数个数:%d,负数个数:%d,零的个数:%d\n", pos_count, neg_count, zero_count);
}
int main() {
int nums[10];
printf("请依次输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
count_nums(nums, 10);
return 0;
}
```
该代码通过 `scanf` 函数获取用户输入的 10 个整数存入数组中,再遍历数组并进行分类统计。最后通过 `printf` 函数输出结果。
用c语言编写一个程序,输入整数n,再输入n个整数,用自定义函数count记录正数负数和0的个数,输出统计结果
好的,以下是代码:
```c
#include <stdio.h>
void count(int arr[], int n, int* pos, int* neg, int* zero)
{
for (int i = 0; i < n; i++)
{
if (arr[i] > 0)
(*pos)++;
else if (arr[i] < 0)
(*neg)++;
else
(*zero)++;
}
}
int main()
{
int n;
printf("请输入整数n:");
scanf("%d", &n);
int arr[n];
printf("请输入n个整数:");
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
int pos = 0, neg = 0, zero = 0;
count(arr, n, &pos, &neg, &zero);
printf("正数个数:%d,负数个数:%d,0的个数:%d\n", pos, neg, zero);
return 0;
}
```
代码解释:
1. 自定义函数count:输入数组arr、数组长度n和三个指向int类型的指针pos、neg、zero,用于记录正数、负数和0的数量。使用for循环遍历数组,根据元素的正负性和是否为0,分别将对应指针所指向的变量加1。
2. 主函数:输入整数n和n个整数,调用count函数统计正数、负数和0的数量,最后输出结果。
阅读全文