定义数组a[10]并输入输入一个整数n表示第几个元素开始采用函数调用的方式求数组中从第n个数开始的最大值
发布网友
发布时间:2023-08-22 22:14
我来回答
共2个回答
热心网友
时间:2023-10-02 15:16
//代码如下
#include<stdio.h>
int fun(int *p, int n)
{
int m = p[n];//需要确认你的n是以0开始开始1开始,这里假设0开始,不能写等于0如果是负整数就有问题。
for(int i = n+1; i < 10; i++)
{
if(p[i] > m)
m = p[i];
}
return m;
}
void main()
{
int a[10],n;
int k=0;
//输入数组
for(int i = 0; i < 10; ++i)
scanf("%d",&a[i]);
//输入n
scanf("%d",&n);
//调用函数fun
int m = fun(a, n);
//输出最大值printf("%d后的最大值为%d\n", n, m);
}
热心网友
时间:2023-10-02 15:17
#include<stdio.h>
int fun(int *p, int n){
int m = 0;
for(int i = n; i < 10; ++i){
if(p[i] > m){
m = p[i];
}
}
return m;
}
void main(){
int a[10],n;
int k=0;
//输入数组
for(int i = 0; i < 10; ++i){
scanf(&a[i],"%d");
}
//输入n
scanf(&n, "%d");
//调用函数fun
m = fun(a, n);
//输出最大值
printf("%d后的最大值为%d\n", n, m);
}追问这样输出来有错误,该怎么改
error C2664: 'scanf' : cannot convert parameter 1 from 'int *' to 'const char *'
error C2065: 'm' : undeclared identifier
追答m = fun(a, n); 改成 int m = fun(&a, n);