数组为整型数组。主函数中输入数组元素,以-9999为结束符,-9999不会是数组的元素。数组元素个数不超过100。 输入:若干整数,以空格或换行隔开,以-9999结束。-9999不是数组元素
#include <stdio.h>
int f(int a[],int n){
int max = a[0];
for(int k=1;k<n;k++){
if(a[k]>max){
max = a[k];
}
}
return max;
}
int main()
{
int a[200];int i=0,j=0;
while(1){
scanf("%d",&a[i++]);
char c=getchar();
j++;
if(c=='\n'){
break;
}
}
printf("%d", f(a, j-1));
return 0;
}
#编程语言: C
状态帮助,状态 (新窗口): 多个状态
评测时间: 2022年04月 30日 星期六 14:17 (14 秒之前)
信息: 用例1: 运行超时(此程序运行得太久了。)
用例2: 运行超时(此程序运行得太久了。)
用例3: 运行超时(此程序运行得太久了。)
用例4: 运行超时(此程序运行得太久了。)
用例5: Accepted
用例6: 运行超时(此程序运行得太久了。)
统计: 编译错误: 2
多个状态: 3
成功率: 0%
输出: testcase 0:
testcase 1:
testcase 2:
testcase 3:
testcase 4: 1567854
testcase 5:
自己在devC++上运行没问题,提交到moodle上显示这样
写一个可以实现你要的功能行吗?没看懂你题目的意思
#include <stdio.h>
int GetMax(int *arry,int len);
int main()
{
int a[101]={0},num=1;
while(a[num-1]!=-9999)
{
scanf("%d",&a[num]);
num++;
}
printf("Max=%d",GetMax(a+1,num-1));
return 0;
}
int GetMax(int *arry,int len)
{
int i,max;
max=arry[0];
for(i=1;i<len;i++)
if(max<arry[i])
max=arry[i];
return max;
}
你这个没有处理-9999的啊,而且题目说以空格或者换行隔开,你这个回车符直接结束了
望采纳,谢谢!
#include <stdio.h>
int f(int a[], int n) {
int max = a[0];
for (int k = 1; k < n; k++) {
if (a[k] > max) {
max = a[k];
}
}
return max;
}
int main()
{
int a[200]; int i = 0, j = 0;
while (1) {
scanf_s("%d", &a[i++]);
j++;
if (a[i-1] == -9999) {
break;
}
}
printf("%d", f(a, j - 1));
return 0;
}
递归函数有问题
int fun(int a[], int n) {
int max = a[n - 1];
if (n == 1) return max;
else {
max=max > fun(a, n - 1) ? max : fun(a, n - 1);
return max;
}
}