#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
while (scanf("%d", &n), n--)
{
int a[n], i, j;
for (i = 0; i < n; i++)
{
cin >> a[i] ;
}
for (j = 0; j < n; j++)
{
if(a[j] > 0)
a[j+1] = a[j] + a[j+1];
else
a[j+1] = a[j] - a[j+1];
}
printf("%d\n", a);
}
}
对一个数组的元素重新计算赋值后,如何输出数组的最后一个元素?这段代码怎么也不能输出数组的最后一个值。
答案:2 悬赏:20 手机版
解决时间 2021-03-16 14:24
- 提问者网友:流星是天使的眼泪
- 2021-03-15 18:39
最佳答案
- 五星知识达人网友:七十二街
- 2021-03-15 19:03
1.你这段代码是不能通过编译的。因为你使用了数组声明a[n],而n是刚刚输入的变量,C/C++是不允许用变量来作数组范围定义的,所以是非法的。
2.你说的“输出”最后一个数的问题可这样改一下:把while(scanf("%d", &n), n--)中的n--改成n,而在后面printf("%d\n", a)后加一句n--;就可以了。
3.printf("%d\n", a)这一句意义不明确啊,它输出的是一个固定不变的地址a。
2.你说的“输出”最后一个数的问题可这样改一下:把while(scanf("%d", &n), n--)中的n--改成n,而在后面printf("%d\n", a)后加一句n--;就可以了。
3.printf("%d\n", a)这一句意义不明确啊,它输出的是一个固定不变的地址a。
全部回答
- 1楼网友:老鼠爱大米
- 2021-03-15 19:30
int i;
int k=10,a[5];
for(i=0;i=0;i--){
printf("%2d\n",a[i]);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯