解题思路:
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分
30 人评分
#include <stdio.h> #include <string.h> #include <math.h> int main () { int n,i,s; scanf("%d",&n); for(i=0,s=0;i<=n;i+=2) { s+=i; } printf("%d",s); }
你这个a[n]不报错真是奇迹,Visual Studio直接报4个错误,真不知道你用的什么编译器(-_-||) 用动态数组需要用到指针,正确代码如下: #include<stdio.h> #include<stdlib.h> int main() { int *num; int n=0; scanf("%d", &n); num = (int*)malloc(n * sizeof(int)); int i,sum = 0; for (i = 0; i < n; i++) { scanf("%d", num + i); int m; m = *(num + i); if (m % 2 == 0) sum += m; } printf("%d\n", sum); return 0; }
秋清深 2021-12-01 18:36:49 |
C prime plus 中写到C99标准开始允许声明 a[n],这创建了一种新型数组称为变长数组,称为VLA,C11把VLC设定为可选,在devc++中的确这样也没报错,编译器的问题吧,也不能完全就是说错误。
你tm的这是什么,有十多个错。请你以后不要乱写题解免得误人子弟,你个laji .
#include<stdio.h> int main() { int a,b=0,d=0; int c[a]; scanf("%d",&a); for(b<a;;b++) { scanf("%d",&c[b]); if(c[b]%2==0) d=d+c[b]; } printf("%d",d); return 0; } 大佬求解 为啥我的运行时间超时
询文 2021-07-26 20:30:06 |
。C语言中不允许动态数组类型。例如: int n;scanf("%d",&n);int a[n]; 用变量表示长度,想对数组的大小作动态说明, 这是错误的。个人感觉这个解释是可以理解,你也可以百度一下
川哥的吩咐 (C语言代码)浏览:926 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1067 |
C语言训练-排序问题<1> (C++代码)浏览:632 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:674 |
C语言训练-自由落体问题 (C语言代码)浏览:1775 |
【亲和数】 (C语言代码)浏览:588 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:577 |
C语言训练-求函数值 (C语言代码)浏览:599 |
求组合数 (C语言代码)浏览:1206 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2121 |
一个之昂 2022-03-18 22:46:25 |
你这math函数和string函数库都没用上?
啊康要学C 2022-10-13 19:24:59 |
傻逼