在一维数组中找到最大值,删去最大值,输出剩余的部分。 我这个程序去不掉最大值,不知道哪里错了?

作者&投稿:罗响 (若有异议请与网页底部的电邮联系)
一维数组a中有10个整数,编写程序,输出这个数组中的最大值。 输入示例说明: 有1行,包括10~

#include "stdio.h" //从键盘输入10个数存入一维数组,求这10个数中的最大值 int main() { int i; float max,num[10]; printf("请输入10个数,每输入一个数按回车键结束:
"); for(i=0;i<10;i++) { scanf("%f",&num[i]); } max=num[0]; for(i=1;i<10;i++) { if(max<num[i]) max=num[i]; } printf("最大为:%f
",max,min); return 0; }

#include using namespace std;int main(){int a[10], i, max, min;int maxpos = 0;int minpos = 0;for (i = 0; i > a[i];if (i > 0){if (max a[i]){min = a[i];minpos = i;}}else{max = a[0];min = a[0];}}cout << "最大值:" << max << "位置:" << maxpos << endl;cout << "最小值:" << min << "位置:" << minpos << endl;return 0;}

扩展资料:
for循环的基本用法:
1、语句最简形式为:
for( ; ; )
2、一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

去不掉最大值的问题在于把记录最大值位置的k变量的值破坏了,即倒数第二个for循环应改成for(i=k;i<n-1;i++) a[i]=a[i+1];就可以了。当然,这代码还有其他问题,你先把这个问题解决了再说。

在销售点处,小说小数点点的不对就不好去掉,瞎说点不清

删除第5行中a[n]的定义,因为n还未赋值,不能用于定义数组。
在第6行的下面加上:
int a[n];

将第16-17行改成:
for(i=k;i<n-1;++i)
a[i]=a[i+1];


使用键盘向一维数组中输入20个整数,找出其中最大的数和最小的数。(数 ...
这个,假设第一个元素为最小,如果第二个元素比第一个大,那么把第二个元素的值赋给第一个,依次类推, 遍历循环整个数组,就能找到最大的,同理也能找到最小的,

如何用C语言写一个打擂台的算法?
这个问题涉及数组问题和循环语句,明确“打擂台”算法可以快速写出。利用计算机在一批数中找出最大值的一般方法为:1.将数据存入一个一维数组中,例如存入a数组中。2.在数组中找最大值(假设用变量max存放最大数)。(1)首先将a[0]视为最大数,即首先使max=a[0]。(2)将除a[0]之外的其他元素...

编写C语言程序,查找一个一维数组中的最大值,打印出该元素及其位置。_百 ...
include <stdio.h> int main(void){ int a[5],j,i,k;puts("输入数值 以空格间隔");for(i=0;i<5;i++)scanf("%d",&a[i]);j=a[0];for(i=1;i<5;i++){ if (a[i]>j){j=a[i];k=i;} } printf("最大数为=%d 是第%d个元素",j,k);} ...

C语言 求一个一维数组的最大值和最小值~!
Data_Type max=0;\/\/定义两个全局变量,max表示最大值 Data_Type min=0;\/\/min表示最小值 void func(Data_Type a[],int N)\/\/传递数组名与数组的大小N { max=min=a[0];\/\/初始化 for(int i=0,iN,i++)\/\/循环N次 { if(maxa[i]) max=a[i];\/\/如果当前的a[i]比max大,则max取...

给定一个数组,找出其中最大的值及其位置 用Java编写代码
java编写程序,找出一维数组中元素的最大值和最小值:方法1:import java.util.*;public class Main{public static void main (String args[ ]) { int a1[ ]=new int[] {5,3,6,8,10,56};Arrays.sort(a1);System.out.println("最大值:"+a1[a1.length-1]);System.out.println("最小...

labview怎样找出一维数组中的最大数并输出对应的行号或列号
在程序框图 编程->数组->数组最大值与最小值 函数,把数组连上直接输出数组中的最大、最小值以及它们的索引值。Dim x As Integer, y As Integer, px As Integer, py As Integer Dim jz() As Integer Dim i As Integer, t As Integer x = Val(InputBox("输入行数", "计算矩阵"))y =...

...急需!输入一个一维整型数组,并找出数组元素中最大值和最小值及其相 ...
实验内容:1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。要求:(1)数组为整型数组(10个元素)。(2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值...

C语言:定义一个包含10个元素的一维数组找出其中的最大值让其与第一个...
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]...

...急需!输入一个一维整型数组,并找出数组元素中最大值和最小值及其相 ...
= 0; i < 10; i++){ if(num[i]<min ){ min = num[i];index_min = i;} } printf("max = %d,min = %d",num[index_max],num[index_min]);return 0;} 分析:题目要求要找两个值和值的下标,所以我们可以设立4个变量。然后利用for循环(c语言基础知识)进行比较,得出答案。

C语言 一维数组 求10个数中的最大值与最小值
include <stdlib.h> define N 10 void main(){ int i,j,p[10],temp;for(i = 0;i<N;i++){ scanf("%d",&p[i]);} for(i = 0;i<N-1;i++){ for(j = i+1;j<N;j++){ if(p[i] < p[j]){ temp = p[i];p[i] = p[j];p[j] = temp;} } } printf("最...

谢通门县17354413659: VB编程:随机生成10个互不相同的1~100之间的整数,存放在一维数组中,找出最大的元素,并从数组中删除该元素 -
拔晓复方: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Dimi AsInteger DimS(10) AsInteger DimMax AsIntegerFori = 0 To9RandomizeS(i) = Int(Rnd * 100) + 1Ifi = 0 ThenMax = S(i)ElseIfMax < S(i) ThenMax = S(i)EndIfDebug.Print Max & " "& S(i)Nexti删除的我没有写,你自己扩展吧..最大的数保存的MAX 中.S(i)随机数保存的数组

谢通门县17354413659: 急!写一个C程序:在一个一维数组中查找最大值和最小值 -
拔晓复方: void main() {int a[10],i,max,min; for(i=0;imax)max=a[i]; if(a[i] 采纳哦

谢通门县17354413659: 编写C语言程序,查找一个一维数组中的最大值,打印出该元素及其位置. -
拔晓复方: #include <stdio.h> int main(void) {int a[5],j,i,k; puts("输入数值 以空格间隔"); for(i=0;i<5;i++) scanf("%d",&a[i]); j=a[0]; for(i=1;i<5;i++) { if (a[i]>j) {j=a[i]; k=i; } } printf("最大数为=%d 是第%d个元素",j,k);}

谢通门县17354413659: 输入一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标 -
拔晓复方: #include int main() { int i,j,k,a[10],max,min; printf("输入10个整数:"); scanf("%d",&a[0]); max = min = a[0]; j = k = 0; for(i=1; i<10; i++) { scanf("%d",&a[i]); if(max < a[i]) { max = a[i]; j = i; } if(min > a[i]) { min = a[i]; k = i; } } printf("最大值是:%d,其对应下标是:%d\n",max,j); printf("最小值是:%d,其对应下标是:%d\n",min,k); }

谢通门县17354413659: c语言编程:编制函数,其功能是在float类型一维数组中查找最大值、最小值,并将它们返回到调用程序. -
拔晓复方: 你好!按最大或最小排序,然后输出数组两头的不就行了 打字不易,采纳哦!

谢通门县17354413659: 求数组元素的平均值定义一个含20个元素的一维整型数组,从键盘上输入20个元素,求去掉最大值和最小值以后那些元素的平均值.提示:(1)数组中最大、... -
拔晓复方:[答案] 你这个,是数组编程,不需要“删除”,只需要计算中“跳过”就可以了.逻辑上,第一步遍历数组,获取max和min的值;第二步,累加数组,当a[i]==min||a[i]==max的时候,则跳过,之后除以一共累加的个数即可.(2)的意思,就是如果...

谢通门县17354413659: “输入一组数,找出最大值和最小值”的c程序怎么写 -
拔晓复方: #include "stdio.h" //从键盘输入10个数存入一维数组,求这10个数中的最大值和最小值并输出 int main() {int i;float max,min,num[10];printf("请输入10个数,每输入一个数按回车键结束:\n");for(i=0;i<10;i++){scanf("%f",&num[i]);} ...

谢通门县17354413659: (1):找出一维数组中的最大值.已知:int a[10]={0,2,4,6,8,1,3,5,7,9}; -
拔晓复方: max=a[0]; for(i=0;i<N;i++) { if(max<a[i]) max=a[i]; }

谢通门县17354413659: c程序语言,数 组,求编程实现1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值.要求:(1)数组为整型数组(10个元素).(2)使... -
拔晓复方:[答案] 第一题: 考虑到第四小问 程序用宏定义 #include #define N 10 //定义数组元素个数 void fun(int a[ ]) { int max=0,min=0; for(i=0;i{ if(a[i]>a[max]) { max=i; } if(a[i]{ min=i; } } printf("数组中第%d个数%d是最大值.\n",max+1,a[max]); printf("数组中第%d...

谢通门县17354413659: 如何在一个数组中找出所有最大值 -
拔晓复方: 用max()函数即可,比如>> r = rand(1,10);>> [maxr,index]=max(r) maxr = 0.9649 index = 10 第一个返回参数是最大值,第二个参数是最大值所在的位置(下标)

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