问题标题: 酷町堂:1823 老师点名啦1

0
0
已解决
潘艺博
潘艺博
初级天翼
初级天翼

题目描述 Description

教室一共有9位同学,每排坐三个,坐了三排。我们用数字1~9对9位同学进行编号,如图

  • 1 2 3
  • 4 5 6
  • 7 8 9

当老师点到(输入)这个数字时这位同学就需要站起来回答问题。

输入描述 Input Description

随意输入1~9之中的任意一个整数

输出描述 Output Description

输出的结果用1表示站起来的同学,0表示坐着的同学

样例输入 Sample Input

5

样例输出 Sample Output

0 0 0

0 1 0

0 0 0

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int f[10][10],k;
    cin>>k;
    for(int i=0;i<=2;i++){
        for(int j=0;j<=2;j++){
            if(i==k/3&&j==k%3-1){
                f[i][j]=1;
            }else{
                f[i][j]=0;
            }
            cout<<f[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}

WA11


0
已采纳
蔡乐毅
蔡乐毅
高级光能
高级光能

你这太麻烦了

直接f[k/3][k%3-1]就OK了

但是如果用这个代码

k是三时就不行了

so

j==k%3-1

改为

j==(k+2)%3

蔡乐毅在2021-06-19 09:17:52追加了内容

i==k/3----->i==(k-1)/3

0
0
吕梓瑜
吕梓瑜
初级天翼
初级天翼

我的比较死板,所以不知道你那代码哪里错了

	int y;
    cin>>y;
    if(y==1){
        cout<<"1 0 0"<<endl<<"0 0 0"<<endl<<"0 0 0";
    }
    if(y==2){
        cout<<"0 1 0"<<endl<<"0 0 0"<<endl<<"0 0 0";
    }
    if(y==3){
        cout<<"0 0 1"<<endl<<"0 0 0"<<endl<<"0 0 0";
    }
    if(y==4){
        cout<<"0 0 0"<<endl<<"1 0 0"<<endl<<"0 0 0";
    }
    if(y==5){
        cout<<"0 0 0"<<endl<<"0 1 0"<<endl<<"0 0 0";
    }
    if(y==6){
        cout<<"0 0 0"<<endl<<"0 0 1"<<endl<<"0 0 0";
    }
    if(y==7){
        cout<<"0 0 0"<<endl<<"0 0 0"<<endl<<"1 0 0";
    }
    if(y==8){
        cout<<"0 0 0"<<endl<<"0 0 0"<<endl<<"0 1 0";
    }
    if(y==9){
        cout<<"0 0 0"<<endl<<"0 0 0"<<endl<<"0 0 1";
    }
    return 0;

挨个判断输出,虽说代码长,但思路简单,不复杂,也不容易出错

输入是几就让几变成1,其余不变还是0

吕梓瑜在2021-06-19 09:51:21追加了内容

求采纳~

 

 

嗷呜~

0
涛沙龙
涛沙龙
初级守护
初级守护
  •  
  • a[n]=1;
  • cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl;
  • cout<<a[4]<<" "<<a[5]<<" "<<a[6]<<endl;
  • cout<<a[7]<<" "<<a[8]<<" "<<a[9]<<endl; 
  • 核心,定义a【10】、n
涛沙龙在2021-06-19 10:29:41追加了内容

0
0
我要回答