交换最大值和最小值c语言

作者&投稿:路娥 (若有异议请与网页底部的电邮联系)

用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成。
思路:首先设置最大最小的值都是数组第一个数,然后遍历数组,出现比当前最大值大的,修改最大值为这个数。出现比最小值小的,修改最小值为这个数。代码 include <stdio.h>\/\/为了方便返回,使用结构体存储最大值和最小值typedef struct { int Max; int Min;}MaxMin; \/\/函数参数array:数组...

...c语言编程 在整型数组a[10]中找出最大值和最小值,并将最大值与数组...
这个很简单 就是一个交换过程 和 找最大值 最小值过程 void main(){ int a[10];int i=0;for(i=0;i<10;i++)scanf("%d",&a[i]);\/\/输入10个 int max=a[0];int min=a[9];for(i=0;i<10;i++)\/\/找最大和最小 { if(a[i]>max)max=a[i];if(min<a[i])min=a[i];...

c语言输出最大最小值
C语言中求最大值和最小值,一般都是使用假设法,即先假设某个数是最大值和最小值,然后遍历比较即可。下面实例,求一个数组中的最大值和最小值,先假设a[0]是最大值,同时也是最小值,然后遍历数组进行比较,得出结果。include<stdio.h>int main() { int a[] = {1,2,3,4,5,6,7,8,...

C语言 交换最小值和最大值 帮忙看看我哪错了?
找最小值和最大值都是单层循环,双层循环是错误的。你这个整个算法有问题。正确的如下图所示:

C语言 最大值、最小值及其交换
n个数为n1,n2,n3...流程伪代码 for(0:n){ if(max<n1){ max=n1;temp++;} } printf(max,temp);即可得到最大数和最大数的位置 最大最小排序,使用冒泡排序法即可得到。

...a[10] ,将其中的最大值和最小值进行交换。并将新数组输出到显示器...
int main(){int a[10];int i,s,max=0,j=0;for(i=0;i<10;i++)scanf("%d",&a[i]);s=a[0];for(i=1;i<10;i++){if(s<a[i]){s=a[i];max = i;}else j=i;}s = a[max];a[max]= a[j];a[j]=s;for(i=0;i<10;i++)printf("%4d",a[i]);printf("\\n"...

...其中的最大值让其与第一个元素交换,找出最小值与最后一个
printf("\\n\\n最大值:\\t%d", max);min = a[0];pmin = 0;for(i=1; i<10; i++){ if(a[i] < min){ min = a[i];pmin = i;} } printf("\\n最小值:\\t%d", min);tmp = a[0];a[0] = a[pmin];a[pmin] = tmp;tmp = a[9];a[9] = a[pmax];a[pmax]...

...这n个整数的最大值、最小值、最大值序号和最小值序号。
include <stdio> void main(){ int n,i,max_v,min_v,max_i,min_i,val;scanf("%d",&n);if(n < = 0)\/\/n小于=0 非法;return;for(i = 0;i < n;i++){ scanf("%d",&val);if(i == 0)\/\/第一次输入的值 赋值给 最大值 最小值; 序号都赋值为0;{ max_v = val;mi...

...再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换...
这题目应该找到最大值和最小值所在的坐标位置,然后,在交换时,要考虑最大值是第一个数的情况。include<stdio.h>int main(){ int a[10]; int i,max,min,n; printf("请输入一个正整数n(1<n<10)\\n"); scanf("%d",&n); printf("请输入n个正整数\\n"); for(i=...

...用函数实现计算数据中最大值、最小值,并返回它们所在数组中的位置...
if(p[i]>p[*pl])\/\/若当前输入的数比最大值记录大则修改记录*pl=i;}} int main(int argc,char *argv[]){int m[10],ml,ms;Input_Max_Min(m,&ml,&ms);\/\/用数组首址和最大值及最小值位置记录变量地址调用自定义函数printf("The MAX is m[%d]...

沃宽15819337252问: C语言找出二维数组中的最大值与最小值并交换位置 -
仙居县京制回答: 给你思路吧.1. 找出最大值,记录该下标值 2. 找出最小值,记录该下标值 3. 交换两下标值对应的数即可. 找最值的算法很你应该会吧.

沃宽15819337252问: c语言构造一个n*n的矩阵,将最大值与第一个元素交换,最小值与最后一个元素交换 -
仙居县京制回答: #define n 100; int * getArray(int num) {return (int*)malloc(num*num*sizeof(int)); }void work(int* p,int num) {int i = 0;int j = 0;int m;for(;i<num;i++)for(;j<num;j++){if(*(p+i*num+j)>*p){m = *p;*p = *(p+i*num+j);*(p+i*num+j) = m;}if(*(p+i*num...

沃宽15819337252问: 使用C语言编写程序,输入10个整数,将其中最小的数与第一个数交换,最大的数与最后一个数交换. -
仙居县京制回答: #include<stdio.h> void input(int a[10]) { int i; for(i=0;i<10;i++) { scanf("%d",&a<i>); } } void exchange(int a[10]) { int i,min,max,temp,big,small; min=max=a[0]; for(i=0;i<10;i++) { if(max<a<i>) { max=a<i>; big=i; } if(min>a<i>) { min=a<i>; small=i; } } ...

沃宽15819337252问: C语言编程:找出一个数列中的最大值和最小值,然后将最大值和最小值位置交换 -
仙居县京制回答: int main() { int marks[10]={78,88,86,89,94,97,83,98,79,87}; int i, temp, posmax = 0, posmin = 0; int maxi = marks[0]; int mini = marks[0]; for (i = 1; i != 10; ++i) { if(mini > marks[i]) { mini = marks[i]; posmin = i; } if(maxi < marks[i]) { maxi = marks[i]; ...

沃宽15819337252问: C语言编程:输入一维数组的10个元素,并将最小值与第一个数交换,最大值与最后一个数交换. -
仙居县京制回答: #include int main() { int a[10],i,t,imin,imax,n = 10; printf("输入10整数(空格隔开):"); for(i = 0; i < n; ++i) scanf("%d",&a[i]); printf("处理前:\n"); for(i = 0; i < n; ++i) printf("%d ",a[i]); printf("\n"); imin = imax = 0; for(i = 1; i < n; ++...

沃宽15819337252问: C语言编程,要用指针.输入十个数,将最小值与第一个互换,最大值与最后一个互换,输出十个数. -
仙居县京制回答: 1234567891011121314151617181920212223242526 intnum[10] = { 2, 3, 4, 5, 6, 7, 8, 9, 0, 1 }; inttemp; int*begin = num; int*end = num + 9;for(int*pointer = begin; pointer <= end; pointer ++) { if(*pointer < *begin) { temp = *pointer; *pointer = *...

沃宽15819337252问: 用c语言编写:从键盘输入10个数,找出最大以及最小的数字,并将两个数字交换 -
仙居县京制回答: /*从键盘输入10个数,找出最大以及最小的数字,并将两个数字交换*/#include #include #include /*使用宏定义LENGTH长度为10*/#define LENGTH 10 main () { int elements[LENGTH]; int i, max=0, min=0,temp; printf("Please input %d numbers\n",...

沃宽15819337252问: c语言中 用函数把数组a中的最大值和最小值交换
仙居县京制回答: 1定义两个变量记录最大和最小的下标2在一个for里面分别与每一个数组元素比较,记录最大和最小的下标.3交换这两个元素

沃宽15819337252问: C语言,输入n个整数的数组,将最小值与第一个书交换,最大值与最后一个数交换,然后输出数组? -
仙居县京制回答: 你的程序没有问题,从某种意义上来说是正确的. 问题是你举的例子是最特殊的,数组4321,最大值4的位置max=0,最小值1的位置min=3.交换时,先是第一个元素a[0](4)跟最小的元素位置a[min](a[3]=1)进行交换,交换的结果是数组1324;接下来是a[3]跟a[max]交换,这时a[3]=4,而a[max]=a[0]=1,就是1与4交换,结果就成了1234.你会发现,它们又换回来了! 这个问题产生的原因,是max的值在第一次交换之后,已经不能代表最大值的真实位置了! 要解决这个问题,就把16-19行一起移动到13行之前.就可以了. 你可以试一下,有什么问题请留言.

沃宽15819337252问: 嗯嗯 用c语言编写从键盘输入10个整数,将最小值与第一个数交换,最大值与最后一个交换,然后输出交换后的数 -
仙居县京制回答: 建议你看下冒泡算法,冒泡第一轮就是把最大或者最小的数换到数组的一端


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网