跪求!一C语言答案!急需!输入一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标!

跪求!一C语言答案!急需!输入一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标!

#include <stdio.h>#define LEN 50

void main()

{

int a[LEN]={0},i,j,min=0,iMin=0,max=0,iMax=0;

printf("请个输入整型数组元素(输入0表示输入结束):\n");

for (j=0; j<LEN; j++)

{

scanf("%d", &a[j]);

if (a[j] == 0)

break;

}

min=max=a[0];

for (i=1; i<j; i++)

{

if (a[i]<min)

{

min = a[i];

iMin = i;

}

if (a[i]>max)

{

max = a[i];

iMax = i;

}

}

printf("值最小的元素为: %d,其下标为: %d \n", min,iMin);

printf("值最大的元素为: %d,其下标为: %d \n", max,iMax);

}

测试结果:

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。



温馨提示:内容为网友见解,仅供参考
第1个回答  2018-07-23

答案:

#include<stdio.h>

int main()

{

int num[10] = {1,2,3,4,5,6,7,8,9,10};

int max = num[0],index_max = 0;

int min = num[0],index_min = 0;

int i = 0;

for(i = 0; i < 10; i++)

{

if(num[i]>max)

{

max = num[i];

index_max = i;

}

}

for(i = 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语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。



本回答被网友采纳
第2个回答  2013-04-10
1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入/输出。
2.掌握字符数组与字符串的使用方法。理解字符数组与其它数组的区别、理解字符串及其特点。掌握常用的字符串处理库函数的用法并清楚对字符串的简单处理。
3.掌握与数组相关的算法,包括排序算法和查找算法等。
实验内容:
1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。
要求:
(1)数组为整型数组(10个元素)。
(2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。
(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值在数组中的位置。
(4)如果现改为20个元素的数组,怎样修改程序?修改程序后,运行程序进行检查。如果需要数组元素不断改变,应怎样修改程序?2.编程实现:在给定的字符串中查找满足条件的第一个字符。
要求:
(1)字符串采用初始化的方式处理。
(2)通过scanf函数读入一个任意字符。
(3)在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的位置以及相应的说明。如果不存在该字符,则要给出相应的信息。

3.编程实现:首先任意输入一个大于2且小于10的整数n,再输入一个由n决定的二维整型数组(n ╳ n),形成n ╳ n阶矩阵,将矩阵中最大元素所在的行和最小元素所在的行对调后,再输出该矩阵(注意:数组不允许动态定义)。
例如: 原始数据: n=4 结果数据:
1 2 3 4 8 11 14 16
3 5 9 10 3 5 9 10
8 11 14 16 1 2 3 4
15 2 7 6 15 2 7 6
要求:
(1) 本题中所涉及到的循环都采用for语句。
(2) 在输入/输出时进行必要的说明。
(3) 对输入的2~10之间的整数(例如4)以n=4的格式输出。
(4) 输入一个n ╳ n矩阵(假定最大值与最小值不在同一行上),输出原始矩阵数据(按上述矩阵形式)。
(5) 查找最大值与最小值,将矩阵中最大元素所在的行和最小元素所在的行对调,输出对调后的矩阵数据。
(6) 修改程序,对最大值与最小值可能出现在一行上的情况做出说明。
(7) 对n为3,4,5时,输入数组元素是要注意哪些问题?执行程序,检查程序的正确性。4.编程实现“折半查找”的过程。折半查找的处理过程是:在一个数据已排好序的数组中,首先比较关键字与数组中间的元素,如果两者相等,则查找结束;如果前者比后者小,则要查找的数据必然在数组的前半部,此后只需在数组的前半部中继续折半查找;如果前者的数值比后者大,则要查找的数据必然在数组的后半部,此后只需在数组的后半部继续进行折半查找。
要求:
(1)设定一个数组存放20个数据,用赋初值的方法在程序中给出(假设这些数据已排序)。
(2)用scanf函数输入一个要找的数。
(3)对查找的结果给出相应的说明,如果找到该数,则给出该数是数组中第几个元素。如果该数不在数组中,则输出“无此数”信息。
(4)任意输入一些数据,检查程序的正确性。
(5)修改程序,设定输入的数据是无序的,采用scanf函数的形式输入,首先要对这些无序的数据进行排序,然后再采用“折半查找”。最后通过测试几组差别较大的数据检查程序的正确性。
(6)(*)修改程序,改为函数调用的形式。编写一个选择法排序函数,对无序数据进行排序;编写一个查找函数对已排好序的数据进行查找。在主函数中输入数据(无序),调用上述函数,输出结果。5.编程实现:三个学生、五门课程的成绩分别存放在4×6矩阵的前3×5列,计算出每个学生的平均成绩存放在该数组的最后一列的对应行上。计算单科的成绩总和存放在最后一行的对应列上,并输出单科成绩的平均分。输入/输出格式举例如下:
Input(输入成绩):
65 87 68 56 78<cr>
83 94 67 85 91<cr>
71 75 69 84 89<cr>
Output(输出结果) :
65 87 68 56 78 70.5
83 94 67 85 91 84.0
71 75 69 84 89 77.5
219.0 256.0 204.0 258.0 232.0 0
average:
73.0 85.3 68.0 86.0 77.3
要求:
(1) 数组类型为实型,输入成绩由scanf函数实现。
(2) 输出已输入的原始成绩数据(3×5)。
(3) 计算每个学生的平均成绩以及单科的成绩总和并按要求填入到数组中,输出填入结果后的数组(4×6)。
(4) j计算单科平均成绩后输出。
(*)修改程序,采用函数调用的方式实现。
1)编写一个函数输入数据,函数名为enter()。功能是输入原始学生成绩。
2)编写一个函数计算平均值,函数名为aver()。功能是计算平均成绩(包括每个学生的平均成绩和每个单科的平均成绩)。并将计算结果分别填入 4×6矩阵的最后一列和最后一行中。
3)编写一个函数输出数据,函数名为outarray()。功能是输出数组元素。
4)在主调函数中调用上述三个函数。
5)如果想将2)再进一步划分,应如何处理?6.编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr()用于统计一个字符串的长度。编写函数cmpStr()用于判断两个字符串的大小。
要求:
(1) 不允许使用字符处理库函数。
(2) 在主函数以初始化的方式输入两个字符串str1、str2。调用函数lenStr()计算字符串的长度。
(3) 调用函数cmpStr()判断两个字符串的大小,如果str1大于等于str2,调用函数catStr()进行两个字符串的连接,将str1连接在str2后,否则,将str2连接在str1后,调用函数lenStr()统计连接后的字符串长度。
(4) 在主函数中输出两个原始字符串和各自的长度以及处理后字符串及其长度 上学不好好学,现在抓狂了?温习下吧.
第3个回答  2013-04-10
#include <stdio.h>
#define LEN 50
void main()
{
int a[LEN]={0},i,j,min=0,iMin=0,max=0,iMax=0;

printf("请个输入整型数组元素(输入0表示输入结束):\n");
for (j=0; j<LEN; j++)
{
scanf("%d", &a[j]);
if (a[j] == 0)
break;
}

min=max=a[0];
for (i=1; i<j; i++)
{
if (a[i]<min)
{
min = a[i];
iMin = i;
}

if (a[i]>max)
{
max = a[i];
iMax = i;
}
}

printf("值最小的元素为: %d,其下标为: %d \n", min,iMin);
printf("值最大的元素为: %d,其下标为: %d \n", max,iMax);
}
//测试结果:
第4个回答  2013-04-10
#include <stdio.h>int main()
{
int a[100];
int i,n;
printf("Please input the number of elements(1-100): ");
scanf("%d",&n);
printf("Please input %d elements: ",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int maxa=a[0], maxp=0;
int mina=a[0], minp=0;
for(i=0;i<n;i++)
{
if(maxa<a[i]) { maxa=a[i]; maxp=i; }
if(mina>a[i]) { mina=a[i]; minp=i; }
}
printf("max number = %d, position = %d\n",maxa,maxp);
printf("min number = %d, position = %d\n",mina,minp);
return 0;
}

跪求!一C语言答案!急需!输入一个一维整型数组,并找出数组元素中最大值...
include <stdio.h>#define LEN 50 void main(){ int a[LEN]={0},i,j,min=0,iMin=0,max=0,iMax=0;printf("请个输入整型数组元素(输入0表示输入结束):\\n");for (j=0; j<LEN; j++){ scanf("%d", &a[j]);if (a[j] == 0)break;}min=max=a[0];for (i=1; i<j; i...

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

c语言编写一个函数,找出一维数组中的最大值和最小值,并计算出数组元素的...
double fun(double a[],int n,int *max,int *min);\/*函数原型声明:其中a为数组,n为数组元素个数,max指向最大数,min指向最小数,函数返回值为平均值*\/ int main(){ double b[10],aver;int x,y=10,max=0,*ma=&max,min=0,*mi=&min;for(x=0;x<y;x++){b[x]=x*(x-8.25...

在C语言中,如何得到一个整型一维数组的最大值,并输出其下标
这个用假设法就好了,你先假设第一个元素是最大值,然后遍历数组,比最大值大,就重新赋值即可,示例代码如下:include<stdio.h>#define SIZE 8 int main(){ int number[SIZE]={95,45,15,78,84,51,24,12}; \/\/假设法int max = number[0];for (int inx=0; inx!=SIZE; ++inx){...

C语言,编写程序,使用指针求出一维整型数组,数组自定,求出最大值及其下 ...
include<stdio.h>#define ARRAY_LEN 100int main(void) {int arr[ARRAY_LEN],len,i,*p=arr,*max=arr;printf("请输入初始数组元素个数:");scanf("%d",&len); printf ("\\n"); printf ("===\\n\\n"); printf("请输入数组内容,共%d个元素: ",len);for(i=0; i<len; p...

2.从键盘任意输入一个一维数组,找出这个一维数组中是大的数?
您好,很高兴为您作答。可以使用如下的C语言程序代码实现:include <stdio.h> int main(){ int n; \/\/用于存储数组的长度 int arr[100]; \/\/用于存储数组的元素 int max; \/\/用于存储数组中最大的数 int i; \/\/用于循环遍历数组 printf("请输入数组的长度:\\n");scanf("%d", &n); \/\/从...

...输入一个一维实型数组,输出其中最大值、最小值和平均值。
1 创建数组;2 输入数组各个元素值;3 遍历,求最大,最小,和平均值;4 输出结果。为提高效率,其中2,3两步可在同一个循环中完成。代码如下:int main(){ float a[10]; int i; float *p, *pmax,*pmin, ave = 0; p = pmax= pmin = a; scanf("%f",p); for...

编程实现:求一个一维整型数组的最大值及下标,数组长度为10?_百度知 ...
以下是一个使用 C 语言求解的方法,望采纳:include <stdio.h> int main() { int a[10] = {3, 4, 2, 5, 7, 9, 1, 8, 6, 0};int max_value = a[0];int max_index = 0;for (int i = 1; i < 10; i++) { if (a[i] > max_value) { max_value = a[i];max_...

编写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);} ...

定义一个一维整型数组,并对其初始化,求数组中元素的最大值、最小值和...
include <stdio.h> #define ARRAY_LEN 5 \/*数组长度*\/int main (void) {int arr[ARRAY_LEN],max,min;float sum,average;int i;printf ("请为%d个元素的一维数组输入内容:\\n",ARRAY_LEN); for (i=0; i<ARRAY_LEN; i++) scanf ("%d",&arr[i]); putchar ('\\n'); ...

相似回答