请用C语言:求一个数组中所有元素的和,在主函数中检验

如题所述

如果说,数组中保存的是数字,那简单,全部加起来。

如果说,数组中保存的是字符串型数字比如“100”,那你需要把字符串转成数字再相加。

或者还可以把所有字符拼接在一起。

#include<stdio.h>
#include <stdlib.h>
#include<string.h>
int main( )
{
    int nums[10]={100,200,300,400,500,600,700,800,900,1000},i,sum=0;
    char nums2str[10][5]={"100","200","300","400","500","600","700","800","900","1000"},str[41];

    printf("数字型和字符串型的两个数组元素分别为:\n");
    printf("100,200,300,400,500,600,700,800,900,1000\n");
    printf("\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\",\"1000\"\n");
    str[0]=0;
    for(i=0;i<10;i++)
        sum=sum+nums[i];
    printf("纯数字的数组元素相加,结果:%d\n",sum);

    sum=0;
    for(i=0;i<10;i++)
        sum=sum+(int)atof(nums2str[i]);
    printf("字符串型数字的数组元素转数字相加,结果:%d\n",sum);

    for(i=0;i<10;i++)
        strcat(str,nums2str[i]);
    printf("字符串型数字的数组元素拼接到一起,结果:%s\n",str);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-08

你的数组的大小,你的数组的值从什么地方得到,请说明一下

#include <stdio.h>
#include <string.h>
int main()
{
    int i;
    int aa[10] = {5,7,8,77,1,3,4,6,13,2};
    int he=0;
    
    for(i=0;i<10;i++)
        he = he + aa[i];
    printf("和是 : %d\n",he);
   
    return 0; 
}

第2个回答  2013-09-08
s=0; \\ s为累加器。
for (i=1; i<=n; i++) \\ n为元素个数。
s=s+a[i]; \\ a为存元素的数组,最后结果在s中。
第3个回答  2018-05-10
#include<stdio.h>
#define N 10
int fs(int *a,int n) { int s=0,i; for ( i=0;i<n;i++ ) s+=a[i]; return s; }
void main() { int s,i,a[N];
  for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
  s=fs(a,N);
  printf("%d\n",s);
}

第4个回答  2013-09-08
#include<stdio.h>
int getsum(int a[],int n)//得到数组a的n个元素的和
{
int i,sum=0;
for(i=0;i<n;i++)sum+=a[i];
return sum;
}
main()
{
int a[]={1,2,3,4,5,6,7,8,9};
printf("sum=%d",getsum(a,9));
return 0;
}本回答被网友采纳
相似回答