求一个输入输出,排序,最大值,最小值,求和的c语言程序

求一个输入输出,排序,最大值,最小值,求和的c语言程序如果采纳,重金谢谢!!... 求一个输入输出,排序,最大值,最小值,求和的c语言程序如果采纳,重金谢谢!! 展开
 我来答
碧海风云

2017-12-04 · 碧海风的秘密小据点!
碧海风云
采纳数:909 获赞数:10281

向TA提问 私信TA
展开全部
#include <stdio.h>
#include <conio.h>

#define LEN 100 /*数组长度上限*/
#define elemType int /*元素类型*/

/*输入数组*/
void inputArr (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
scanf ("%d",&arr[i]);
putchar ('\n');
}

/*打印数组*/
void printArr (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
printf ("%d\t",arr[i]);
putchar ('\n');
}

/*求数组所有元素和、最大值、最小值*/
void calcArr (elemType arr[], int len, elemType *sum, elemType *max, elemType *min, int *maxIndex, int *minIndex) {
int i;

*max = *min = arr[0];
*maxIndex = *minIndex = 0;

for (i=0; i<len; i++) {
*sum += arr[i];
if (arr[i]>*max) { /*求最大值、元素编号*/
*max = arr[i];
*maxIndex = i;
}
if (arr[i]<*min) { /*求最小值、元素编号*/
*min = arr[i];
*minIndex = i;
}
}


/*升序冒泡排序*/
/*参数说明:*/
/*int arr[]:排序目标数组*/
/*int len:元素个数*/
void bubbleSortAsc (elemType arr[], int len) {
elemType temp;
int i, j;
for (i=0; i<len-1; i++)
for (j=0;j<len-1-i; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}

int main (void) {
elemType arr[LEN];
int len;
elemType sum,min,max; /*数组所有元素和、最小值、最大值*/
int minIndex,maxIndex; /*数组最小值、最大值位置*/

printf ("请输入数组元素个数:");
scanf ("%d",&len); 

printf ("请输入包含%d个元素的数组:\n",len);
inputArr (arr, len);

calcArr (arr, len, &sum, &max, &min, &maxIndex, &minIndex);
printf ("所有元素和:%d\n",sum);
printf ("最大值:Max = arr[%d] = %d\n",maxIndex,max);
printf ("最小值:Min = arr[%d] = %d\n",minIndex,min);
putchar ('\n');

puts ("排序后数组:");
bubbleSortAsc (arr, len); /*升序冒泡排序*/
printArr (arr,len);
putchar ('\n');

getch (); /*屏幕暂留*/
free (arr);
return 0;
}

运行结果

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式