解题思路:
1、输入n

2、数组存放n个整数

3、用sum叠加

注意事项:
1、直接在主函数里定义数组a,大小为变量n,感觉有问题,不能赋初值

赋初值时,如  int a[n]={0};

则有错误提示: error: variable-sized object `a' may not be initialized

参考代码:

刚开始想的,

#include "stdio.h"
main(){
    int n;
    scanf("%d",&n);
    int a[n]; //这里虽然可以运行,但还是有问题,这样做感觉是不好的 
    int sum=0;
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
        if(a[i]%2==0)
            sum+=a[i];
    }
    printf("%d\n",sum);
}

上面的有点问题,但不知道,大佬们可以指出谢谢


后来直接改成函数调用的

#include "stdio.h"
void fun(int n){ //输入并求偶数之和,同时输出 
    int a[n],sum=0;
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);//输入 
        if(a[i]%2==0) //判断偶数 
            sum+=a[i]; //是偶数则叠加 
    }
    printf("%d\n",sum); //不返回直接输出 
}
int main(){
    int n; //n个整数 
    scanf("%d",&n);
    fun(n);//调用函数 
    return 0;
}


点赞(0)
 

0.0分

26 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 29 条评论

永不可挡 2年前 回复TA
@清水啊 对,里面不能有变量
啊康要学C 2年前 回复TA
@浅梦 傻逼
飒雨 2年前 回复TA
@清水啊 同问
清水啊 2年前 回复TA
不是你这数组a[n]是变量怎么能过的呢
嘻嘻哈哈 2年前 回复TA
#include"stdio.h"
#include"math.h"
#include"string.h"
int main()
{ 
   int n;
   int a[100];
   int count=0;
   scanf("%d",&n);
   for(int i=0;i<n;i++)
   {
    scanf("%d",&a[i]);
   }
    for(int i=0;i<n;i++)
   {
      if((a[i]%2)==0)
     count=a[i]+count;
   }
   printf("%d",count);
   return 0;
}
嘻嘻哈哈 2年前 回复TA
#include"stdio.h"
#include"math.h"
#include"string.h"
int main()
{ 
   int n;
   int a[100];
   int count=0;
   scanf("%d",&n);
   for(int i=0;i<n;i++)
   {
    scanf("%d",&a[i]);
   }
    for(int i=0;i<n;i++)
   {
      if((a[i]%2)==0)
     count=a[i]+count;
   }
   printf("%d",count);
   return 0;
}
绒毛之球 2年前 回复TA
我目前用的三个编译器,一个是vs2022,兼容性最差,另一个是手机上的C语言编译器,一个就是C语言网的在线编程,兼容性最好。众所周知,vs不能arr[n];我手机上的要先对n输入值,这样:
int n;
scanf("%d",&n);
int Arr[n];
这样不会报错,而换成这样:
int n,arr[n];
scanf("%d",&n);
会报错,而在线编程不会。
什么?你问我为什么这么闲研究这个?因为我还不会动态数组
一个之昂 2年前 回复TA
@浅梦 你这math函数和string函数库都没用上?
秋清深 3年前 回复TA
C prime plus 中写到C99标准开始允许声明 a[n],这创建了一种新型数组称为变长数组,称为VLA,C11把VLC设定为可选,在devc++中的确这样也没报错,编译器的问题吧,也不能完全就是说错误。
秋清深 3年前 回复TA
@Velpro514 C prime plus 中写到C99标准开始允许声明 a[n],这创建了一种新型数组称为变长数组,称为VLA,C11把VLC设定为可选,在devc++中的确这样也没报错,编译器的问题吧,也不能完全就是说错误。