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

1.已知一个数组a[5]={1,2,3,4,5}、b[5]={11,4,2,7,9}.数组c[5]等于数组a、b对应元素之和。输出数组c中元素的值。2.写一个函数void... 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,得到总天数。
展开
 我来答
peishenglu
2010-09-09
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
第一题:
#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;

}
yu屾屾yu
2010-09-08 · TA获得超过1314个赞
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
不懂,me才上初一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
磊无敌2008
2010-09-08 · TA获得超过232个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:250万
展开全部
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!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WQY19920826
2010-09-08
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
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;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式