#include <stdio.h>
int fun(int*a,int*b,int n)
{
int i=0,j=0,sum=0;
for(;i<n;i++)
{
sum+=a[i];
if((i+1)%2==0)
{
b[j++]=sum;
sum=0;
}
}
return j;
}
main()
{
int a[8]={1,0,2,3,5,4,2,1},b[8],k,i;
k=fun(a,b,8);
for(i=0;i<k;i++)
printf("%d",b[i]);
}
这个题目有点意思,解析看注释
#include <stdio.h>
int fun(int*a,int*b,int n)
{
int i=0,j=0,sum=0;
for(;i<n;i++)//for循环从0开始循环8次
{
sum+=a[i];//从下标i开始求和a里面i和i之后的元素
if((i+1)%2==0)//如果i+1是偶数
{ //j从0开始++,后置++是先使用再++
b[j++]=sum;//b数组内下标为j的位置变成sum
sum=0;//清空sum
}
}
return j;//返回计数器j
}
main()
{
int a[8]={1,0,2,3,5,4,2,1},b[8],k,i;
k=fun(a,b,8);//接收j的计数值,对应b数组元素个数
for(i=0;i<k;i++)
printf("%d",b[i]);//打印数组b的结果
}
如果对你有帮助,还请点个采纳,万分感谢!