问题标题: 酷町堂:3741 咋错了,求各位大佬帮帮忙!20分代码如下

0
0
已解决
被禁言 任涵予
任涵予
初级守护
初级守护
#include<iostream>
using namespace std;
int a[101][101];
int main()
{
  int n,s,i,j;
  cin>>n;
    for(i=1;i<=n;i++)
        if(i%2!=0)
            for(j=1;j<=n;j++){
                s++;
                a[i][j]=s;
            }
        else
            for(j=n;j>=1;j--){
                s++;
                a[i][j]=s;
            }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            cout<<a[i][j]<<"  ";
            cout<<endl;
        }
  return 0;
}

 


1
已采纳
毛润宇
毛润宇
新手天翼
新手天翼

先将你的核心代码去掉,(除头文件,尾文件的部分),再听我说。

1.定义m,n(int就行)。

2.m行n列的数组为啥只输入n呢?

3.a[i][j]数组的输入呢?

4.if(i%2!=0)是什么意思,不是判断1么?不是双重循环里判:if(a[i][j]==1)吗?

5.判了以后呢,再在双重循环里加上k到n的循环,将a[k][j]=1(此步在if的大括号里)。

6.正常输出。

你的代码好乱,用我说的写吧,祝你AC!

(呼-打了这么多字累死了,好歹给个采纳吧,谢谢!)

0
0
0
施巧稚
施巧稚
初级守护
初级守护

输入有错,题目中是输入m,n呢!

二维数组的输入

第9行,直接写if(a[i][j]==1)判断呀!

10~18行都思路好乱,不懂你在求什么。。。。。。

以下是核心代码:


    for(int i=1;i<=m;i++)
        for(int j=1;j<=n;j++)
            if(a[i][j]==1)
                for(int k=1;k<=m;k++)
                   a[k][j]=1;
 

再加上输入m,n

数组输入

数组输出

就可以了

望采纳

0
刘旭晨
刘旭晨
初级守护
初级守护

你的循环都不用缩进的吗???

而且这个代码比较乱,建议重新整理一下

我要回答