C语言求一维数组中下标为偶数的元素之和,求问我的程序出错在哪里,如何改,为什么?刚学C语言求支援。
#include<stdio.h>#definemintmain(){inta[m],sum,i;for(i=0;i<m-1;i+=2)scanf("%d",&a[i])...
#include<stdio.h>
#define m
int main ()
{ int a[m],sum,i;
for(i=0;i<m-1;i+=2)
scanf("%d",&a[i]);
sum=0;
for(i=0;i<m-1;i+=2)
sum=sum+a[i];
printf("the sum is:%d\n",sum);
return 0;
} 展开
#define m
int main ()
{ int a[m],sum,i;
for(i=0;i<m-1;i+=2)
scanf("%d",&a[i]);
sum=0;
for(i=0;i<m-1;i+=2)
sum=sum+a[i];
printf("the sum is:%d\n",sum);
return 0;
} 展开
3个回答
展开全部
你的程序有以下三个错误
1、#define m必须要给m进行定义,这样才能知道定义的的数组有几个元素,比如该题定义的数组有10个元素,那么改成#define m 10
2、scanf("%d",&a[i])前面的for循环应该改为for(i=0;i<m;i++),在进行求和之前,需要把数组当中的值全部输入进去,才能进行下面的步骤。
3、for(i=0;i<m-1;i+=2)应该改为for(i=0;i<m;i+=2),因为只有i=0到i<m之间才有m个元素,而该程序写的for(i=0;i<m-1;i+=2)只有m-1个元素,与题目不符。
以下是改写的的程序以及运行图
扩展资料
1、for语句最简形式为:
for( ; ; )
2、一般形式为:
for(单次表达式;条件表达式;末尾循环体)
3、 for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句,。
展开全部
C语言求一维数组中下标为偶数的元素之和,一组有几个?10个?
这一行要写为:
#define m 10
for(i=0;i<m-1;i+=2)
要改为:
for(i=0;i<m;i+=2)
这一行要写为:
#define m 10
for(i=0;i<m-1;i+=2)
要改为:
for(i=0;i<m;i+=2)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define m 5
你定义的常量是几呢?
追问
m 我想要一个随机的数,当我给数组输入m个值之后,按回车就可以得出结果,m是随机的,但是我不会写。
追答
#define是用宏替换的方法定义一个常量,它不能定义随机数。
要想使用随机数需要在main()内使用c语言随机数函数,比如,srand()或random(),
细节你可以自己去百度,提醒你一下,刚开始学习程序,不要搞得太花哨。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询