求思路
c4droid吧
全部回复
仅看楼主
level 11
怎样让数组加起来,想了好多办法都不想
2015年05月08日 12点05分 1
level 5
你确定你想了好多的"办法"?
2015年05月08日 13点05分 4
level 11
#include <iostream>
using namespace std;
int main(){
int n[5]{1,2,3,4,5};
int s=0;
for (auto i: n){
s += i;
}
cout << s;
return 0;
}
用支持c艹11的编译
2015年05月08日 23点05分 5
level 11
十年一瞬如沧海,谁人还逝臧海花
2015年05月09日 01点05分 6
level 11
# include <stdio.h>
int StdentName(int ScoreName[10]);
int StdentMain();
int main(void)
{
int Score[10];
StdentName(Score);
int sum, j;
for (j = 0;j < 10;j++)
{
sum+=Score[j];
}
printf("总成绩为%d", sum);
return 0;
}
/*/////////////////////////////////*/
/* 学生信息 */
/*/////////////////////////////////*/
int StdentName(int ScoreName[10])
{
int i;
int j;
for (i = 1;i < 10;i++)
{
scanf("%d", &ScoreName[i]);
printf("学生%d的成绩为%d\n", i, ScoreName[i]);
}
}
十年一瞬如沧海,谁人还逝臧海花
2015年05月09日 01点05分 7
level 8
2个错误
for (i = 1;i < 10;i++)
{
scanf("%d", &ScoreName[i]);
printf("学生%d的成绩为%d\n", i, ScoreName[i]);
}
for应该从i=0开始,因为ScoreName[]是从ScoreName[0]到ScoreName[9],你不把ScoreName[0]赋值,他会是你那个地址中以前的数据,而你在加和的时候又把它加进去了,所以结果不对。改法有两种,加和的时候从ScoreName[1]开始加,或者输入的时候从ScoreName[0]开始输。
另一个错误是你没给sum赋初值,和上个问题一样。
int sum, j;
for (j = 0;j < 10;j++)
{
sum+=Score[j];
}
解决方法就是加一个sum=0
然后就没问题了。
2015年05月09日 02点05分 8
谢谢
2015年05月09日 03点05分
level 8
# include <stdio.h>
int StdentName(int ScoreName[10]);
int StdentMain();
int main(void)
{
int Score[10];
StdentName(Score);
int sum, j;
for (j = 0,sum=0; j < 10; j++)
{
sum+=Score[j];
}
printf("总成绩为%d", sum);
return 0;
}
/*/////////////////////////////////*/
/* 学生信息 */
/*/////////////////////////////////*/
int StdentName(int ScoreName[10])
{
int i;
int j;
for (i = 0; i < 10; i++)
{
scanf("%d", &ScoreName[i]);
printf("学生%d的成绩为%d\n", i+1, ScoreName[i]);
}
}
2015年05月09日 02点05分 9
level 12
用 std::valarray。
2015年05月09日 02点05分 10
1