| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3112 人关注过本帖
标题:出了什么错误,为什么只能输入?
只看楼主 加入收藏
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
我也蒙了,测试没有问题,改完后可以再正常输出。

[此贴子已经被作者于2016-5-30 13:54编辑过]

2016-05-30 13:34
dfmlpx
Rank: 1
等 级:新手上路
帖 子:9
专家分:7
注 册:2016-5-30
收藏
得分:0 
你用的什么编辑器
2016-05-30 14:06
k852175662
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2016-5-30
收藏
得分:4 
#include<stdio.h>
int main(void)
 {

     int i,j,a[3][3],b[3][3],m,n;
    printf("请输入行\n");
    scanf("%d",&n);
    printf("请输入列\n");
    scanf("%d",&m);
     printf("请输入元素\n");
     for(i=0;i<n;i++)
     {
         for(j=0;j<m;j++)
         {
             scanf("%d",&a[i][j]);
         }
      }
      printf("输出A是\n");
      for(i=0;i<n;i++)
         {
             for(j=0;j<m;j++)
             {
                 printf("%5d",a[i][j]);
             }
         }
      for(i=0;i<n;i++)
         {
             for(j=0;j<m;j++)
             {
                 b[j][i]=a[i][j];
             }
          }
      printf("互换之后的数组是\n");
      for(i=0;i<m;i++)
             {
                 for(j=0;j<n;j++)
                 {
                     printf("%d",b[i][j]);
                 }

              }
     
      return 0;
 }




修改后的 ,
2016-05-30 14:09
k852175662
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2016-5-30
收藏
得分:0 
#include<stdio.h>
int main(void)
 {

     int i,j,a[3][3],b[3][3],m,n;
    printf("请输入行\n");
    scanf("%d",&n);
    printf("请输入列\n");
    scanf("%d",&m);
     printf("请输入元素\n");
     for(i=0;i<n;i++)
     {
         for(j=0;j<m;j++)//这个地方写错了
         {
             scanf("%d",&a[i][j]);
         }
      }
      printf("输出A是\n");
      for(i=0;i<n;i++)
         {
             for(j=0;j<m;j++)
             {
                 printf("%5d",a[i][j]);
             }
         }
      for(i=0;i<n;i++)
         {
             for(j=0;j<m;j++)
             {
                 b[j][i]=a[i][j];//这个地方应该是=赋值
             }
          }
      printf("互换之后的数组是\n");
      for(i=0;i<m;i++)//这里的话最好是这样,如果是你的做法的话,只能实现行列相等的数之间的置换,同时你的程序如果输入行列的话,不能超过你规定的数组的大小。。。。
             {
                 for(j=0;j<n;j++)
                 {
                     printf("%d",b[i][j]);
                 }

              }
     
      return 0;
 }
2016-05-30 14:11
北国的冬
Rank: 2
等 级:论坛游民
帖 子:5
专家分:11
注 册:2016-4-15
收藏
得分:4 
转置矩阵?如果转置矩阵直接控制输出不就行了
2016-05-30 16:27
tang1994
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:19
专家分:30
注 册:2016-5-25
收藏
得分:0 
这样,你试试先进行行之间的互换,然后再进行列之间的互换。
#incloud"stdio.h"
int main(void)
{

    int i,j,a[3][3],b[3][3],m,n;
   printf("请输入行\n");
   scanf("%d",&n);
   printf("请输入列\n");
   scanf("%d",&m);
   printf("请输入元素\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;i++)
        {
            scanf("%d",&a[i][j]);
        }
     }
   printf("输出A是\n");
     for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                printf("%5d",a[i][j]);
            }
        }
    \*假设先进行行之间两个相邻数的互换排列*\
    for(i=0;i<n;i++)
       {
             for(j=0;j<m;m++)
                 {
                   int temp;
                   temp=a[i][j+1];
                   a[i][j+1]=a[i][j];
                   a[i][j]=temp;
                   }
       \* 然后就是列*\
           int temp;
           temp=a[i+1][j];
           a[i+1][j]=a[i][j];
           a[i][j]=temp;
        }
     printf("互换后数组为\n%d",a[i][j]);
     return0;
  }
   我的想法是这样的,可能我的书写会出现不规范,考虑的地方可能不周全,因为我看开始看C一个星期都不到,之前也没有接触过,如果有错误的地方,跪求大神指点,诚心求教。              

能耐得寂寞的人,肯定是有思想的人。
能忍受孤独的人,肯定是有理想的人。



2016-05-30 20:39
tang1994
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:19
专家分:30
注 册:2016-5-25
收藏
得分:0 
额,之前题意没有弄明白,如果是要行与列之间互换的话,就不用这么麻烦,直接a[i][j]=a[j][i]就可以了

能耐得寂寞的人,肯定是有思想的人。
能忍受孤独的人,肯定是有理想的人。



2016-05-31 14:10
快速回复:出了什么错误,为什么只能输入?
数据加载中...
 
   



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

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