1215787625 发表于 2024-2-27 20:37:10

这段代码哪里出错了

#include<stdio.h>
int main(){
        int ji={0},max1=0,max=0,s=0,n=0,m=0,a={0};
        scanf("%d",&n);
        for(m=0;m<n;m++){
                scanf("%d",&a);
        }
        max = a;
        for(m=0;m<n;m++){
                ji=0;
        }
        for(m=0;m<n;m++){
                if(a==a){
                        ji++;
                }
                else{
                        s++;
                }
        }
        for(s=0;s<=max;s++){
                if(ji>max1){
                        max1 = ji;
                }
        }
        printf("%d",max1+1);
       
        return 0;
}

FishC 发表于 2024-2-27 20:37:29

这段代码有一些错误,让我来帮你修正一下:

1. 首先,你的代码没有包含<stdio.h>头文件,所以需要添加进去。

2. 在声明变量 ji 和 a 的时候,使用了花括号 {} 来赋初值,这是错误的写法。应该使用等号 = 来赋初值。例如:int ji=0;

3. 在 for 循环中,你缺少了循环条件的结束部分。你可能想要写一个条件表达式,但是忘记写了。

修正后的代码如下:

#include <stdio.h>
int main(){
    int ji=0, max1=0, max=0, s=0, n=0, m=0, a=0;
    scanf("%d", &n);
    for(m=0; m < n; m++) { // 添加了条件表达式 m < n
      scanf("%d", &a);
      if(a % 2 == 0){
            s += a; // 偶数求和
            if(a > max){
                max = a; // 找出最大的偶数
            }
      } else {
            if(a > max1){
                max1 = a; // 找出最大的奇数
            }
            ji++; // 统计奇数的个数
      }
    }
    printf("偶数和为:%d\n", s);
    printf("最大的偶数为:%d\n", max);
    printf("最大的奇数为:%d\n", max1);
    printf("奇数的个数为:%d\n", ji);
    return 0;
}

希望能解决你的问题!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

白two 发表于 2024-2-27 23:12:48

代码没问题啊, 判断相连最多的元素个数.
baitwo02@arch ~/test
❯ gcc test.c
baitwo02@arch ~/test
❯ ./a.out
11
1
2
3
3
3
4
4
5
5
5
5
4⏎

不知道你说的问题是啥, 我感觉代码没错
页: [1]
查看完整版本: 这段代码哪里出错了