#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;
}
你的程序有以下三个错误
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循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句,。
m 我想要一个随机的数,当我给数组输入m个值之后,按回车就可以得出结果,m是随机的,但是我不会写。
追答#define是用宏替换的方法定义一个常量,它不能定义随机数。
要想使用随机数需要在main()内使用c语言随机数函数,比如,srand()或random(),
细节你可以自己去百度,提醒你一下,刚开始学习程序,不要搞得太花哨。