C语言。定义20元素的一维数组 ,从键盘输入20个元素,找出20个元素中的最大值,最小值

作者&投稿:貂彬 (若有异议请与网页底部的电邮联系)
编程求出任意一个一维数组元素中最大值和最小值的下标。数组元素的值由用户键盘输入~

源程序代码以及算法解释如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include
using namespace std;//引用命名空间
void main()
{
const int n = 10;//定义成绩数量
int number[n];//定义存放成绩的数组
int i;//定义循环变量
int max, min;//定义最大最小值
int i_max, i_min;//定义最大最小值小标
cout << "请输入10个整数:";//文字提示
for (i = 0; i < n; i++)//循环遍历输入
cin >> number[i];//输入成绩
max = min = number[0];//先放一个数在里面进行比较
i_max = i_min = 0;
for (i = 0; i < n; i++)//循环遍历查找最大最小值
{
if (number[i] > max)//如果大那么取出来
{
max = number[i];
i_max = i;
}
if (number[i] < min)//如果小那么取出来
{
min = number[i];
i_min = i;
}
}
cout << "max: " << max << endl;
cout << "min: " << min << endl;
cout << "i_max: " << i_max << endl;
cout << "i_min: " << i_min << endl;
}
程序运行结果如下:




扩展资料:
对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。
要求:
1)数组有10个元素;
2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息;
3)输出时,首先输出数组的十个元素,然后输出其最大值和最小值。
样例输入
1 2 3 4 5 6 7 8 9 0
样例输出
a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5
a[5]=6
a[6]=7
a[7]=8
a[8]=9
a[9]=0
max:9,min:0*/
#include
int main()
{
int a[10],i,max,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("a[%d]=%d
",i,a[i]);
max=a[0];
min=a[0];
for(i=0;i<10;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
printf("max:%d,min:%d",max,min);
return 0;
}

错误原因不说了,给一份我刚写的吧:
#include
#define
N
20
void
main()
{
int
data[N];
int
num_min;
int
num_max;
//循环输入N个整数
for
(int
i
=
0;
i
<
N;
++i)
{
scanf_s("%d",
data+i);
}
num_min
=
data[0];
num_max
=
data[0];
//遍历一遍
for
(int
i
=
0;
i
<
N;
++i)
{
if
(num_min
>
data[i])
{
num_min
=
data[i];
}
if
(num_max
<
data[i])
{
num_max
=
data[i];
}
}
//输出最大与最小
printf("the
max
is:%d
the
min
is:%d",
num_max,
num_min);
}
PS:scanf_s是scanf的安全版本(VS2013版本)

#include <stdio.h>
int main()
{   
 int min = 0;
 int max = 0;
 int arr[20];
 int i = 0;
 scanf("%d", &arr[i]);
 min = max = arr[0];
 do 
 {
  if(arr[i] > max)
   max = arr[i];
  if(arr[i] < min)
   min = arr[i];
  scanf("%d", &arr[++i]);
 } while (i < 19);
 if(arr[i] > max)
  max = arr[i];
 if(arr[i] < min)
  min = arr[i];
 printf("max is %d, min is %d", max, min);
 return 0;
}

1、数组越界

2、找最大最小应该是每个都与最终的最大最小值比较的

 

如果不考虑特殊的输入值,可以给min和max初始值,代码会简单很多:

#include <stdio.h>
int main()
{   
 int min = 100000000;
 int max = 0;
 int arr[20];
 int i;
 for(i = 0; i < 20; ++i)
 {
  scanf("%d", &arr[i]);
  if(arr[i] > max)
   max = arr[i];
  if(arr[i] < min)
   min = arr[i];
 }
 printf("max is %d, min is %d
", max, min);
 return 0;
}


好好想想你的for循环是怎么进行的。
第一次,m=0,执行输出“qingshuru:”,然后执行一次输入,将输入结果保存在x[0]中,这时x[1]中还没有数字,你就开始拿x[1]来作比较了,怎么能实现。。。

数组越界了啊,,,,你定义的数组是5个元素,最大到x[4],你仔细看看你的循环,当m=4时,你里边有x[m+1],没有这个元素啊...

错误原因不说了,给一份我刚写的吧:

#include<stdio.h>

#define N 20

void main()
{
int data[N];
int num_min;
int num_max;
//循环输入N个整数
for (int i = 0; i < N; ++i)
{
scanf_s("%d", data+i);
}
num_min = data[0];
num_max = data[0];
//遍历一遍
for (int i = 0; i < N; ++i)
{
if (num_min > data[i])
{
num_min = data[i];
}
if (num_max < data[i])
{
num_max = data[i];
}
}
//输出最大与最小
printf("the max is:%d\nthe min is:%d", num_max, num_min);
}

PS:scanf_s是scanf的安全版本(VS2013版本)


编写程序,定义一个含20个元素的int类型数组。依次向数组中输入数值;在...
用那种编程语言???下面是我用c++编的 include<iostream> using namespace std;int main(){ int a[20];for(int i =0 ;i< 20 ;i++){ cout<<"请输入第"<<i+1<<"个数"<<endl;cin>>a[i];} cout<<"偶数有:"<<endl;for(int i =0 ;i< 20;i++){ if (a[i]2==0)cout...

C语言:使用随机函数初始化一个具有20个元素的一维数组,使其值在60...
include <stdlib.h>#include void main(){int i,a[20],n=0;srand(time(NULL));for(i=0;i<20;i++){a[i]=rand()%146+60;printf("%-4d",a[i]);n++;if(n%5==0)printf("\\n");}}运行示例:

定义一个含有20个整型元素的数组,按顺序分别赋予从2开始的偶数,然后按...
int i,j=0,a[20];double sum,b[4];for(i=0,i<20;i++){ a[i]=(i*1)+2;sum+=a[i];if((i+1)%5==0){ b[j++]=sum\/5;sum=0;} }

用C语言编写程序,使得一维整型数组的20个元素保存在10×2的二维数组中...
我是假定20个元素能保证 一半是偶数,一半是奇数 include <stdio.h> int main(){ int a[20] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};int b[10][2];int i,j,k;j = 0;k = 0;for(i=0; i<20; i++){ if(a[i]%2==0) \/\/如果是偶数,存放...

c语言 string[ ] 这个[ ]是什么意思?
表示string是个数组。1.char string[20];定义一个有20个元素的字符串数组。2.char string[]={“12c”};定义一个字符串数组string,已经初复制“12c”,所以string的元素一共是4个,包括末尾结束符。

求解答c语言题目!! 定义一个int类型的数组,数组元素为20个,随意赋20...
include include <stdlib.h> include <stdio.h> include "function.h"void main(){ int arr[20],i;float average;put_number(arr,20);printf("数组中的元素如下:\\n");for(i=0;i<20;i++)printf("%2d ",arr[i]);add_five(arr,20);printf("\\n");printf("把数组中小于60的元素加...

求一个c语言程序定义一个长度为20的整型数组
int arr[20]={7,1,4,2,6,20,15,3,8,5,9,19,11,12,16,17,14,18,13,10};int max=0,min=99999,sum=0,maxIndex,minIndex;for(int x=0;x<20;x++){ if(arr[x]>max){ max=arr[x];maxIndex=x;} if(arr[x]<min){ min=arr[x];minIndex=x;} sum+=arr[x];} for(x...

c语言,编写程序,定一个大小为20的一维数组,使其元素依次存放偶数2.4...
include <stdio.h> int main(){ int num[20],i;for(i=0;i<20;++i){ num[i]=(i+1)*2;if(i%5==0&&i)printf("\\n");printf("%d\\t",num[i]);} return 0;}

c语言数组的定义
其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符,方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例如:int a[10]; \/* 说明整型数组a,有10个元素 *\/ float b[10], c[20]; \/* 说明实型数组b,有10个元素,实型数组c,有20个元素 *\/...

c语言:程序中变量定义“int+a[20]={1,1};”表示什么意义?
正确的数组定义应该是使用方括号([])指定数组大小,并且在初始化时使用花括号({})来提供初始值。例如:```c int a[20] = {1, 1};```上述代码定义了一个整型数组 `a`,它包含了20个元素,并且将第一个和第二个元素初始化为1。其余元素将被自动初始化为0。如果您想要声明一个名为 `...

乐山市15876791826: C语言程序设计将一个具有20个元素的一维数组,对下标为奇数位的元素用选择排序按升序排序? -
兆熊干舒: #include <stdio.h> void sort(int a[]) { for(int i = 1;i <= 18;i += 2) {5261int temp,min = i - 1; for(int j = i + 2;j <= 20;j += 2) { if(a[min] > a[j-1]) min = j-1; } temp = a[i-1]; a[i-1] = a[min]; a[min] = temp; } } void display(int a[]) { for(int i = 1;i <= 20;i++) { printf("%...

乐山市15876791826: C语言程序设计题目将一个具有20个元素的一维数组,对下标为奇数位的元素用选择排序
兆熊干舒: 1.定义一个数组,存放20个元素2.for 来输入20个元素 存进去3.for 来遍历,if(i%2!=0)来找出下标为奇数的元素4.存入一个新数组5.遍历新数组 if 来 进行选择排序比对

乐山市15876791826: 定义一个有20个元素的一维数组,使用InputBox函数为数组中的所有元素赋值,并显示其中的最大值与最小值 -
兆熊干舒: '1、在名称为Form1,标题为“数组为参数”的窗体上有两个命令按钮C1,C2,标题分别为”输入显示”,“退出”; '2、两个文本框Text1,Text2,初始内容为空,两个标签L1,L2,标题为标题分别为“数组中的最大值”和“数组中的最小值”. '3...

乐山市15876791826: C语言编程:将从键盘输入的20个整数存入一维数组中,计算所有元素的和、平均值及最大值并输出 -
兆熊干舒: #include <stdio.h>int main(void) { int a[20]; int i=0; for (;i<20;i++) scanf("%d",&a[i]); int result=0; for (i=0;i<20;i++) result+=a[i]; printf("和为:%d\n平均值为:%f\n",result,result/20.0);/*20.0不能改为20*/ result=a[0] for (i=1;i<20;i++) { if (result<a[i]); result=a[i]; } printf("最大值为:%d\n",result); return 0; }

乐山市15876791826: c语言,编写程序,定一个大小为20的一维数组,使其元素依次存放偶数2.4... -
兆熊干舒: #include int main() { int num[20],i; for(i=0;i { num[i]=(i+1)*2;if(i%5==0&&i) printf("\n"); printf("%d\t",num[i]); } return 0; }

乐山市15876791826: c语言编程:定义一个一维数组,共20个元素,初值通过键盘输入,将其中的正数放到另一 -
兆熊干舒: #include<stdio.h> void main(){ int a[20],b[20]; int i,j; i=j=0; printf("Enter number:"); for(i;i<20;i++) scanf("%d",&a[i]); for(i=0;i<20;i++) if(a[i]>0) b[j++]=a[i]; for(i=0;i<j;i++) printf("%4d",b[i]); }

乐山市15876791826: C语言,定义整型,数组c,有20个元素,第一个,第十个,第二十个元素值分别初始化为1,2,3 -
兆熊干舒: for(int i=0; i<length;i++){ for(int j=0; j<i;j++){ if(arr[j]=arr[i]){ for(int k=i+1;k<length;k++){ arr[k-1]=arr[k]; } length--; break; } }}

乐山市15876791826: C语言 定义一个含有20个元素的double型数组a,定义一个指针变量ptrDouble指向该数组 -
兆熊干舒: #include <stdio.h> int main() {double a[20];double* ptrDouble = a;double sum = 0;int i = 0;for (i = 0; i < 20; i++)*(ptrDouble + i) = 3.2 * i + 1.5;ptrDouble = a + 10;for (i = 0; i < 10; i++)sum += *(ptrDouble + i);for (i = -10; i < 10; i++)printf("%....

乐山市15876791826: 定义一个有20个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值.用c语言解答 -
兆熊干舒: #include<stdio.h> main(){ int n[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; float v1,v2; int i,n1,n2; v1=v2=n1=n2=0; for(i=0;i<20;i++) {if(i%2==0)v1+=n[i],n1++;else v2+=n[i],n2++; } v1/=n1; v2/=n2;printf("下标为偶数的元素平均值:%lf,下标为奇数平均:%lf\n",v1,v2);getch(); }

乐山市15876791826: c语言编程 从键盘上输入20个整数存在一维数组中,计算所有元素的和、平均值及最大值并输出 -
兆熊干舒: #include <stdio.h> #include <stdlib.h>#define LEN 20int main(char argc, char *argv) {int i,j;double avg;int num[LEN];int max = 0;int sum = 0;for(i = 0; i < LEN; i ++){sacnf("%d",&num[i]);}for(j = 0; j < LEN; j ++) {sum += num[j];if(num[j] ...

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