C语言程序如下:
#include <stdio.h>
void fun(int a[],int n,int *k)
{
int i,maxxr,j
maxxr=a[0]
for(i=0i<ni++)
{
if(maxxr<a[i])
{
maxxr=a[i]
}
}
for(i=0i<ni++)
{
if(maxxr==a[i]){
j=i
break
}
}
*k=j
}
int main(void)
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k
fun(a, 10, &k)
printf("%d,%d", k, a[k])
}
扩展资料:
思路:
1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;
2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标。
3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。
4、按要求输出。
1、首先打开Dev-c++软件,点击“新建源代码”,如下图所示。
2、然后在打开的窗口中,输入代码,如下图所示。
3、编写完程序之后,点击运行即可得出结果。最后的结果是根据自己输入的10个整数值为基础来进行运行的,每次输入的数组值不同,结果也会不同。
4、其中:for表示循环结构,i 表示循环条件,在编写程序时,注意给赋予增值变量的条件,此次程序的i的初始值从0开始,到9结束,共进行10次循环。
5、if(a[i]>0) m++ 中表示的是,从循环里找出正数,每次找出的正数进行存储在m里。注意这时if里的数组要注意定义为大于0,目的是为了找出10个整数里的正数。
6、最后一点要注意输出结果的那个代码要用到10-m-n,使其算出最后一个要求负数的个数,就完成了。
C语言数组输入是相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。
在引用数组中的元素时,采用数组名[下标]的方式,将其中的每一个元素视为一个普通的变量来进行操作。需要注意的是,因为定义的数组arr仅含有9个元素,所以在使用的过程中,下标值不能超过8,否则就会出现下标越界的错误。
扩展资料:
注意事项:
由于剩余的元素会自动初始化为 0,所以只需要给第 0 个元素赋值为 0 即可,只能给元素逐个赋值,不能给数组整体赋值。例如给 10 个元素全部赋值为 1。
注意指针变量的当前值:指针变量的值在程序运行过程中可能经常改变,要对此注意。
数组越界:C语言系统是不检查数组越界的,需要程序员自行检查。
参考资料来源:百度百科-c语言
参考资料来源:百度百科-数组