求c++高手解答

beamsaber 2009-04-18 02:23:36
1.从键盘上或文件中输入一个8行8列的实数矩阵到一个二维数组中,求出其主对角线上元素之乘积(即a[0][0]* a[1][1]*……*a[n-1][n-1])。

2.某学校有12名学生参加100米短跑比赛,每个运动员号和成绩如下表所示,请按照比赛成绩排名并输出,要求每一行输出名次,运动员号和比赛成绩三项数据。
要求:排序时使用冒泡排序法或插入排序法。
100米短跑比赛成绩
运动员号 成绩(秒) 运动员号 成绩(秒)
1 13.6 2 14.9
3 14.8 4 12.6
5 12.0 6 13.4
7 12.7 8 12.5
9 15.6 10 15.3
11 13.4 12 12.7

3.在一个矩阵中,如某元素比同列及同行的相邻元素都大,则称为极大点,如某元素比同列及同行的相邻元素都小,则称为极小点;如某元素比同行的相邻元素都大而比同列的相邻元素都小,或者比同行的相邻元素都小而比同列的相邻元素都大,则称为鞍点。
例如,下图所示的矩阵中, 等都是极大点, 都是极小点,而 则是一个鞍点。

编程实现,找出矩阵中所有的极点和鞍点。

4.设计一个程序,输入某天的日期(年、月、日),要求算出这一天是本年的第几天。
提示:要算出某天是当年的第几天,应该将当年中本月之前所有月的天数相加,再加上本月的天数。但要注意闰年问题,二月是一个特殊月,如该年是闰年,则二月有29天,否则,便是28天。

...全文
482 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanghfh 2009-05-03
  • 打赏
  • 举报
回复
好啊 都在学习!
liubuweiright 2009-04-19
  • 打赏
  • 举报
回复
学习...
shexinwei 2009-04-19
  • 打赏
  • 举报
回复
帮忙顶!!!
ToBeTough 2009-04-19
  • 打赏
  • 举报
回复
来看高手的!
thinkboy234 2009-04-19
  • 打赏
  • 举报
回复
学习~~
yangf1983 2009-04-19
  • 打赏
  • 举报
回复
这种帖子不该顶啊
  • 打赏
  • 举报
回复
第二题
先设个数据结构,然后用数据结构中的成绩进行比较
比较的函数就用冒泡排序法或插入排序法的自己稍微改进函数
输出也弄个函数
kostion 2009-04-18
  • 打赏
  • 举报
回复
帮顶,接分
a64311937 2009-04-18
  • 打赏
  • 举报
回复
好像很厉害哦~~但是编译有错误唉
a64311937 2009-04-18
  • 打赏
  • 举报
回复
第一题,你看我这个还可以不?
#include<iostream.h>
void main()
{
int a[8][8];
int row,col;

for(row=0;row<7;row++){
for(col=0;col<7;col++){
cout<<"第"<< row+1<<"行,第"<<col+1<<"列是:"<<endl;
cin>>a[row][col] ;
}
}
int c;
c=(a[0][0])*(a[1][1])*(a[2][2])*(a[3][3])*(a[4][4])*(a[5][5])*(a[6][6])*(a[7][7]);
cout<<"主对角元的乘积是"<<c<<endl;


}
weixiaoshashou 2009-04-18
  • 打赏
  • 举报
回复
好长的问题啊
yhuib 2009-04-18
  • 打赏
  • 举报
回复
这些好像是一般的练习题阿
smillyz 2009-04-18
  • 打赏
  • 举报
回复
自己的事自己做,什么都让别人代劳,到头来自己什么也学不到,你那应该是课设的题目吧!自己身体力行可以学到很多东西,
不会的时候在会来问,你就会豁然开朗明白你以前不曾明白的知识!
beamsaber 2009-04-18
  • 打赏
  • 举报
回复
这就是传说的作业题的说,但是有些题想不明白
newborn2012 2009-04-18
  • 打赏
  • 举报
回复
作业题就不要拿到这上面来,让别人帮做了嘛,自己练练手多好啊。
beamsaber 2009-04-18
  • 打赏
  • 举报
回复
正是传说的作业题
  • 打赏
  • 举报
回复
太多了,帮顶接分
hu_vane 2009-04-18
  • 打赏
  • 举报
回复
貌似又是传说中的作业题。
hiboys 2009-04-18
  • 打赏
  • 举报
回复
第1个:
int result (0);
int a[][] ={{}...}
for (i =行)
for (j =列)
if i==j
result *= a[i][j];


第2个:
void mySuff(int** a,int size){
for (i =行)
if (i+1 < 行-1)&& (a[i][2] >a[i+1][2])
//交换
 mySuff(a,size-1); 

}

int a[][] ={{}...}
mySuff(a,12);


第3:
先标出所有的行列的最大和最小。
然后判断在其中是否有交叉点.



第4:
int inMonth(int month){
switch(month)
1:3:5:7:8:10:12:
return 31;
4:6:9:11:
return 30;
2: yearisRUNNIAN()? return 29: return 28;
}


int year,month,day;
cin >> year>> month>>day;
int days(0);

for (int i=1 ;i<month;i++)
days+= inMonth(month);
days += day;












qiance 2009-04-18
  • 打赏
  • 举报
回复
顶下吧
加载更多回复(6)

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧