系统题目,无需定义与输出,请帮忙差错,谢谢!
【习题6.043】系统给定外部整型变量n和整型数组a(不需要
自行定义)。编写程序,找出数组a中前n个元素中的最小元素
及其下标,然后把它和数组中最前面的元素a[0]交换位置。
**********/
void main()
{
int i,b=0,c,min=a[0];
for(i=0;i<n;i++)
{
if(a[i]<min)
min=a[i];
b=i;
}
c=a[0];
a[0]=a[b];
a[b]=c;
}
【习题6.435】系统给定外部整型变量m、n、整型数组a和实型数组b(不需要自
行定义),其中n的值是m的整数倍。编写程序,对数组a的前n个元素依次赋予从
2开始的偶数,然后按顺序每m个数求出一个平均值并依次存储在另一数组b中。
**********/
void main()
{
int i,j,sum=0,t=0;
a[0]=2;
for(i=0,j=1;i<n;i++,j++)
{ a[i+1]=a[i]+2;
sum=sum+a[i];
if(j==m)
{ b[t]=(float)sum/m,j=0,sum=0,t+=1;}
}
}
[解决办法]
1:
if(a[i]<min){
min=a[i];
b=i;
}
//这里应该有{}
2:
//逻辑不对吧。不知道楼主是不是理解了题目的意思
1)需要给a数组赋值,是连续的偶数
2)对于a数组连续求M个数的平均值放入b里。
1-->
for(i = 0; i < n; i++)
{
a[i] = 2+i*2;
}
2-->
int k =0,sum=0;
for(i =0,j=1; i< n;i++)
{
sum+=a[i];//累加前m个数
if(j == m)
{
b[k++] = sum/(float)m;
j=1;sum=0;
}
}