| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:一个关于二维数组的问题,帮忙看一下哪出问题了。
只看楼主 加入收藏
CYdy
Rank: 2
等 级:论坛游民
帖 子:9
专家分:12
注 册:2014-12-22
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
一个关于二维数组的问题,帮忙看一下哪出问题了。
这个小程序就是为了删除二维数组里面一个已有的数。
当在前面对t赋值的时候,它可以得到正确的答案,而用scanf获得一个数的时候就不行。下面是代码。
#include<stdio.h>
main()
{
    int a[4][4]={1,5,6,7,8,9,10,13,17,32,76,89,98,99,100};
    int i,j,t,p,q,c[3],k=0,m=0;
    for(i=0;i<4;i++)
        {
            for(j=0;j<4;j++)
                printf("%3d ",a[i][j]);
                printf("\n");
        }
    scanf("%d",&t);  
    for(i=1;i<4;i++)
        c[i]=a[i][0];
    for(i=0;i<4;i++)
        {
            for(j=0;j<4;j++)   
                    if(t==a[i][j])
                        {
                            for(p=i;p<4;p++)
                            {
                                if(p!=i)
                                    for(q=1;q<4;q++)
                                        a[p][q-1]=a[p][q];   
                                    
                                else
                                 
                                     for(q=j;q<3;q++)
                                        a[p][q]=a[p][q+1];
                                            
                                
                            }
                                k=1;
                                     break;
                        }
            if(k==1)
                break;
        }
        
    for(p=3;p>i;p--)
        a[p-1][3]=c[p];
        a[3][2]=0;
for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
            {
                printf("%3d ",a[i][j]);
                m++;
                if(m==14)
                    break;
            }
            printf("\n");
    }
}
搜索更多相关主题的帖子: include 
2014-12-22 12:46
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
目测没这么麻烦吧

DO IT YOURSELF !
2014-12-22 13:19
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:5 
删除后那个位置被其他数替换还是后面的向前进。而且给t赋值那句下面的一句没有c[3]吧

一片落叶掉进了回忆的流年。
2014-12-22 14:38
葡萄馅饺子
Rank: 1
来 自:南阳理工学院
等 级:新手上路
帖 子:4
专家分:5
注 册:2014-10-16
收藏
得分:5 
楼上对
2014-12-22 19:29
mohun
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:49
专家分:125
注 册:2014-12-22
收藏
得分:5 
看了一下:
1.
for (i = 1; i<4; i++)
        c[i-1] = a[i][0];
对数组c进行赋值时,与定义的“c[3]”不符(上 为改后);
2.
 for(p=3;p>i;p--)
         a[p-1][3]=c[p-1];
与上一个问题类似,同为改后。
改后你再测试一下试试。
2014-12-22 23:32
快速回复:一个关于二维数组的问题,帮忙看一下哪出问题了。
数据加载中...
 
   



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

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