| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 382 人关注过本帖
标题:指针和数组的问题。。头都大了。
取消只看楼主 加入收藏
austral
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2011-3-30
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:0 
指针和数组的问题。。头都大了。



利用指针 编程,对 5X5 矩阵 a 中任意 两行进行 交换,交 换时
不能使用数组.

#include<stdio.h>
struct line   /* 一个包含一行5个数的结构体 */
{
 int num[5];
};

void input(struct line m[5])    /* 输入矩阵的数据 */
{
 int i,j;
 printf("input the data of matrix:\n");
 for(i=0;i<5;++i,j=0)
 {for(j=0;j<5;++j)
 scanf("%d",&m[i].num[j]);
 }
}

void exchange(int b,int c,struct line *a) /*交换行*/
{
 struct line temp=*(a+(b-1));
 *(a+(b-1))=*(a+(c-1));
 *(a+(c-1))=temp;
}

void output(struct line *a)   /* 输出结果 */
{
 int i,j;
 printf("the data of matrix:\n");
 for(i=0,j=0;i<5;++i,j=0)
 {for(;j<5;j++)
 printf("%d ",(a+i)->num[j]);
 printf("\n\n");
 }
}

void main()
{
 int L1,L2;
 struct line x[5];
 input(x);
 output(x);
 printf("please input two lines that u'll exchange:");
 scanf("%d",&L1);
 scanf("%d",&L2);
 exchange(L1,L2,x);
 output(x);
 system("pause");
}

 编译通过了。。

 但是看不懂 求大大们讲解 不胜感激!!

 如果原型用这个 void sawp((int *p1 , int *p2, int n))
  那个exchange 怎么改? 我编译了N次都失败了。。。
搜索更多相关主题的帖子: 结构体 
2011-04-21 21:30
快速回复:指针和数组的问题。。头都大了。
数据加载中...
 
   



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

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