求解几道关于C语言数组的题目?

1.已知一个数组a[5]={1,2,3,4,5}、b[5]={11,4,2,7,9}.数组c[5]等于数组a、b对应元素之和。输出数组c中元素的值。
2.写一个函数void change(int array[],int n),可以将数组array中的n个元素逆序存放。即array[0]与a[n-1]互换,array[1]与array[n-2]互换……。
3.求两个矩阵的乘积c。已知矩阵a、b的值:
1 2 3 4 2
a={ } 、 b={ 3 0 }
4 5 6 1 7 ( 大括号这里打不出来)。
4.应用数组实现输入年year,月month,日date,计算该日期是这年的第几天。方法:定义二维数组days_of_month[2][12],令该数组第一行由非闰年的12个月的天数组成,第二行由闰年12个月的天数组成,则根据年判断:闰年时i为1、非闰年时i为0,累计days_of_month[i][0]到days_of_month[i][month-1]的天数,再加上date,得到总天数。

第一题:
#include<stdio.h>
#include<stdlib.h>

int main()
{
int a[5]={1,2,3,4,5};
int b[5]={11,4,2,7,9};
int c[5];
printf("数组c的元素为:");

for(int i=0;i<5;i++)
{
c[i]=a[i]+b[i];
printf("%3d",c[i]);
}

return 0;
}
第二题:
#include<stdio.h>
#include<stdlib.h>

void change(int array[],int n)
{
for(int i=0;i<(n/2);i++)
{
int temp;
temp=array[i];
array[i]=array[n-1-i];
array[n-1-i]=temp;
}
}

//Test main function
int main()
{
int a[]={1,2,3,4,5,6};
change(a,6);

for(int i=0;i<6;i++)
{
printf("%d",a[i]);
}

return 0;

}
第三题:
#include<stdio.h>
#include<stdlib.h>

int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2]={{4,2},{3,0},{1,7}};

int c[2][2]={0};//初始化值为0
printf("C的矩阵结构为:\n");
for(int i=0;i<2;i++)
{

for(int j=0;j<2;j++)
{
for(int k=0;k<3;k++)
{
c[i][j]+=a[i][k]*b[k][j];
}

printf("%3d",c[i][j]);
if(i==0&&j==1)
printf("\n");
}

}

return 0;

}
第四题:
#include<stdio.h>
#include<stdlib.h>

int Days(int y,int m,int d)
{
int days_of_month[2][12]={{31,29,31,30,31,30,31,31,30,31,30,31},
{31,28,31,30,31,30,31,31,30,31,30,31}};
int day=0;
int count=0;
//判断是否为闰年

if((y%4==0&&y%100!=0)||(y%400==0))
{
printf("%d是闰年",y);
for(int i=0;i<m-1;i++)
{
count+=days_of_month[0][i];
}
day=count+d;
}
else
{
printf("%d不是闰年",y);
for(int i=0;i<m-1;i++)
{
count+=days_of_month[1][i];
}
day=count+d;

}

return day;
}

int main()
{
int y,m,d;
printf("请输入你要查询的年月日:");
scanf("%d%d%d",&y,&m,&d);
int day=Days(y,m,d);
printf("是%d年的第%d天",y,day);
return 0;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-08
不懂,me才上初一
第2个回答  2010-09-08
1.
for(int i = 0 ; i < 5 ; i++ )
{
c[i] = a[i] + b[i] ;
printf("%d\n",c[i]);
}
2.
{//函数内部:
int total = n;
n--;
for( int i = 0 ; i < total ; i++,n-- )
{
int temp = array[n];
array[n] = array[i];
array[i] = temp ;
}
我这要断电了,其他的题你自己想想吧~~~~sorry!
第3个回答  2010-09-08
2
void change(int array[],int n)
{
int temp,i;
for(i=0;i<n/2;i++)
{temp=array[i];
array[i]=array[n-i-1];
array[n-i-1]=temp;
}
}