定义一个整型数组,编写一个程序,主函数调用下面几个自定义函数来完成。 (1)自定义输入函数input:输入10个无序的整数到数组中; (2)自定义排序函数sort:用冒泡法将数组从大到小排序; (3)自定义函数find:要求输入一个整数,在数组中查找找出该数。若存在,在主函数中输出其所 处的位置,否则输出不存在该数。 (4)自定义输出函数output:输出最终的数组。
时间: 2024-02-01 20:14:20 浏览: 145
以下是题目的代码实现:
```c
#include <stdio.h>
void input(int arr[], int n);
void sort(int arr[], int n);
int find(int arr[], int n, int x);
void output(int arr[], int n);
int main()
{
int arr[10], x;
// 输入10个数
input(arr, 10);
// 排序
sort(arr, 10);
// 查找
printf("请输入要查找的数:");
scanf("%d", &x);
int pos = find(arr, 10, x);
if (pos == -1)
printf("不存在该数\n");
else
printf("该数在数组中的位置为:%d\n", pos);
// 输出
output(arr, 10);
return 0;
}
// 自定义输入函数
void input(int arr[], int n)
{
printf("请输入%d个数:\n", n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
}
// 自定义排序函数
void sort(int arr[], int n)
{
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] < arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 自定义查找函数
int find(int arr[], int n, int x)
{
for (int i = 0; i < n; i++)
{
if (arr[i] == x)
return i;
}
return -1;
}
// 自定义输出函数
void output(int arr[], int n)
{
printf("排序后的数组为:\n");
for (int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
```
该程序通过调用自定义的输入、排序、查找和输出函数,实现了对一个整型数组的输入、排序、查找和输出。其中排序函数使用了冒泡排序的方法,查找函数返回找到的数在数组中的位置,如果没有找到则返回-1。
阅读全文