| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 535 人关注过本帖
标题:挑战你的基础
只看楼主 加入收藏
横空出世
Rank: 2
等 级:论坛游民
帖 子:5
专家分:20
注 册:2010-4-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
挑战你的基础
#include<stdio.h>
main()
{
    int i,k,a[5][5],max;
    int **p;
    for(i=0;i<5;i++)
        for(k=0;k<5;k++)
            scanf("%d",&a[i][k])
   p=a;
        int f(int **P);
        max=f(p);
        printf("max=%d",max);
}
int f(int **P)
{int a,b,z;
int **P;
z=**P;
for(a=0;a<5;a++)
for(b=5;b<5;b++)
  if(a==b&&*((*p+a)+b)>z)
      z=*(*(p+a)+b);
  return(z);} 这个该怎么改 题目要求是编写函数,找出5*5矩阵主对角线元素的最大值,并在主函数中调用
搜索更多相关主题的帖子: 基础 挑战 
2010-05-15 11:20
九品绅士
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:59
专家分:199
注 册:2010-3-26
收藏
得分:10 
楼主可以不用int **p;的那样太麻烦,容易出错~~还有int f(int **P)函数里面不需要用双循环,直接令a=b不就可以了
#include<stdio.h>
main()
{
    int i,k,a[5][5],max;
    int f(int x[5][5]);
    for(i=0;i<5;i++)
        for(k=0;k<5;k++)
            scanf("%d",&a[i][k]);

    max=f(a);
    printf("max=%d",max);
}
int f(int x[5][5])
{
    int a,b,z;
    z=x[0][0];
    for(a=0;a<5;a++)
        if(x[a][a]>z)z=x[a][a];
    return(z);
}
GOOD LUCK~~~
2010-05-15 12:03
冥卫
Rank: 8Rank: 8
来 自:深山老林
等 级:蝙蝠侠
帖 子:280
专家分:772
注 册:2010-4-20
收藏
得分:10 
因为对角线的纵和横坐标是一样的,所以、、、
2010-05-15 15:24
快速回复:挑战你的基础
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016367 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved