| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:求解答!!!不知道怎么把交换后的两个数组按原顺序输出,我输出时是把它给倒序 ...
只看楼主 加入收藏
litterpay
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2012-12-21
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:5 
求解答!!!不知道怎么把交换后的两个数组按原顺序输出,我输出时是把它给倒序了
#include <stdio.h>

#define N 10

void Exchange(int *a,int *b)
{
   int i,j,temp;
   for(i=0;i<N;i++)
   {
      for(j=0;j<N;j++)
      {
          temp=a[i];
          a[i]=b[j];
          b[j]=temp;
      }
   }
}

void main()
{
   int i,j,T;
   int a[N],b[N];
   printf("请输入当前数组序号:");
   scanf("%d",&T);
   printf("请输入10个整数元素:\n");
   for(i=0;i<N;i++)
   {
       scanf("%d",&a[i]);
   }
   printf("请输入当前数组序号:");
   scanf("%d",&T);
   printf("请输入10个整数元素:\n");
   for(j=0;j<N;j++)
   {
       scanf("%d",&b[j]);     
   }
   Exchange(a,b);
   printf("在交换后两数组为:\n");
   for(i=0;i<N;i++)
   {
       printf("%3d",a[i]);
      
   }
   printf("\n");
   for(j=0;j<N;j++)
   {
        printf("%3d",b[j]);     
   }
   printf("\n");
}
搜索更多相关主题的帖子: include 元素 
2012-12-22 00:40
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:20 
#include <stdio.h>

#define N 10

void Exchange(int *a,int *b)
{
   int j,temp;
   //for(i=0;i<N;i++)
   //{
      for(j=0;j<N;j++)
      {
          temp=a[j];
          a[j]=b[j];
          b[j]=temp;
      }
   //}
}

int main()
{
   int i,j,T;
   int a[N],b[N];
   printf("请输入当前数组序号:");
   scanf("%d",&T);
   printf("请输入10个整数元素:\n");
   for(i=0;i<N;i++)
   {
       scanf("%d",&a[i]);
   }
   printf("请输入当前数组序号:");
   scanf("%d",&T);
   printf("请输入10个整数元素:\n");
   for(j=0;j<N;j++)
   {
       scanf("%d",&b[j]);
   }
   Exchange(a,b);
   printf("在交换后两数组为:\n");
   for(i=0;i<N;i++)
   {
       printf("%3d",a[i]);

   }
   printf("\n");
   for(j=0;j<N;j++)
   {
        printf("%3d",b[j]);
   }
   printf("\n");
   return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

小小战士,战士中的战斗机!
2012-12-22 01:01
litterpay
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2012-12-21
收藏
得分:0 
回复 2楼 小小战士
能说明一下原因吗?
2012-12-22 10:49
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
回复 4楼 litterpay
运行下面这个程序就知道了
#include <stdio.h>
#define N 10

void right_swap(int *a,int *b)
{
    int i;
   for(i=0;i<N;i++)
        printf("a[%d]<->b[%d]\n",i,i);
}
void test_print(int *a,int *b)
{
   int i,j;
   for(i=0;i<N;i++)
       printf("%3d",a[i]);
   printf("   ");
   for(j=0;j<N;j++)
        printf("%3d",b[j]);
   printf("\n");
}
void wrong_swap(int *a,int *b)
{
   int i,j,temp;
   
   for(i=0;i<N;i++)
   {
      for(j=0;j<N;j++)
      {
          temp=a[i];
          a[i]=b[j];
          b[j]=temp;
          printf("a[%d]<->b[%d]   ",i,j);
          test_print(a,b);
      }
   }
}
int main()
{
   int i,j;
   int a[N]={1,2,3,4,5,6,7,8,9,0};
   int b[N]={11,22,33,44,55,66,77,88,99,100};

   printf("a[%d]: ",N);
   for(i=0;i<N;i++)
       printf("%d ",a[i]);
   printf("   b[%d]: ",N);
   for(j=0;j<N;j++)
       printf("%d ",b[j]);

   printf("\n**********************************\n");
   printf("原本只需交换%d次!\n",N);
   printf("*******a[i]<->b[i]******right*****\n");
   right_swap(a,b);
   printf("**********************************\n");
   printf("现在交换了%d次!\n",N*N);
   printf("+++++++a[i]<->b[j]******wrong*****\n");
   wrong_swap(a,b);
   printf("**********************************\n");

   printf("在交换后两数组为:\n");
   for(i=0;i<N;i++)
       printf("%3d",a[i]);
   printf("\n");
   for(j=0;j<N;j++)
        printf("%3d",b[j]);
   printf("\n");

   return 0;
}

小小战士,战士中的战斗机!
2012-12-22 12:58
litterpay
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2012-12-21
收藏
得分:0 
回复 4楼 小小战士
多谢解答,可我可用分不够,连结贴都困难
2012-12-22 15:22
快速回复:求解答!!!不知道怎么把交换后的两个数组按原顺序输出,我输出时是把它 ...
数据加载中...
 
   



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

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