精华内容
下载资源
问答
  • PTA C语言 方阵循环右移

    千次阅读 2019-12-30 14:17:20
    方阵循环右移 #include <stdio.h> int main() { int a[6][6]; int m,n,i,j; scanf("%d %d",&m,&n); for (i=0; i<n; i++) for(j=0;j<n;j++){ scanf("%d",&a[...

    方阵循环右移
    在这里插入图片描述

    #include <stdio.h>
    int main()
    {
        int a[6][6];
        int m,n,i,j;
        scanf("%d %d",&m,&n);
        for (i=0; i<n; i++)
            for(j=0;j<n;j++){
                scanf("%d",&a[i][j]);
            }
        m%=n;
        for (i=0; i<n; i++){
            for (j=0; j<n; j++){
                printf("%d ",a[i][(n-m+j)%n]);
            }
            printf("\n");
        }
    
        return 0;
    }
    

    代码提交成功 截图
    在这里插入图片描述

    展开全文
  • 方阵循环右移C语言版)

    千次阅读 2020-02-29 22:33:53
    本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和n(1≤n≤6)。接下来...

    本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。
    输入格式:
    输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。
    输出格式:
    按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。
    在这里插入图片描述
    说难不难,就是有点小坑,还要考虑(m>n)的情况。用for循环很快就能解出来了。OK,Its My Time.
    在这里插入图片描述

    展开全文
  • 练习7-8 方阵循环右移 (20分) 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正...

    练习7-8 方阵循环右移 (20分)
    本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。

    输入格式:
    输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。

    输出格式:
    按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。

    输入样例:

    2 3
    1 2 3
    4 5 6
    7 8 9
    

    输出样例:

    2 3 1 
    5 6 4 
    8 9 7 
    

    解答

    #include<stdio.h>
    int main()
    {
    	int m, n, i, j, a[6][6];
    	scanf("%d %d", &m, &n);
    	for (i = 0; i < n; i++) {
    		for (j = 0; j < n; j++) {
    			scanf("%d", &a[i][j]);
    		}
    	}
    	m = m % n;
    	for (i = 0; i < n; i++) {
    		for (j = 0; j < n; j++) {
    			printf("%d ", a[i][(j + n - m) % n]);
    		}
    		printf("\n");
    	}
        return 0;
    }
    

    本来用一个数组一个下标写的,比较难算而且系统判定一直错误,即使我写的答案格式和结果都是正确的,所以去查了一下别人怎么码的,这才想起了双下标,这种方阵解决方法以后就该优先想到双下标。

    展开全文
  • 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和n(1≤n≤6)。接下来...

    本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。

    输入格式:

    输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。

    输出格式:

    按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。

    输入样例:

    2 3
    1 2 3
    4 5 6
    7 8 9

    输出样例:

    2 3 1
    5 6 4
    8 9 7

    #include <stdio.h>
    int main(void)
    {
        int i,j,n,number,m,k=0;
        int matrix[6][6],a[6][6];
        //给m,n和matrix二维数组赋值 
        scanf("%d %d",&m,&n);
        for(i=0;i<n;i++)
        	for(j=0;j<n;j++){
        		scanf("%d",&number);
        		matrix[i][j]=number;
    		}
    	//当m>n时,将m变成小于n的数 
    	if(m>n){
    		int k=m/n;
    		m=m-k*n;
    	}
    	//将二维数组matrix第n-m-1列以前的值保存在二维数组a中 
    	for(i=0;i<n;i++)
        	for(j=0;j<n-m;j++){
        		a[i][j]=matrix[i][j];	
    		}
    	for(i=0;i<n;i++){
    		k=0;/*每一行a数组给matrix数组赋值后立即重置k的值,为下一行做准备*/ 
    		for(j=0;j<n;j++){
    			//将matrix数组的第n-m-1列及其以后列依次赋值给前m-1列 
    			if(n-m+j<n){
    				matrix[i][j]=matrix[i][n-m+j];
    				printf("%d ",matrix[i][j]);
    			}
    			//将二维数组a中的值依次赋给matrix数组中的第m列及其以后列 
    			else{
    				matrix[i][j]=a[i][k];
    				k++;
    				printf("%d ",matrix[i][j]);
    				if(j==n-1) printf("\n");				
    			}		
    		}
    	}
    	
    	return 0;
    }
    
    
    展开全文
  • 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和n(1≤n≤6)。接下来...
  • 练习7-8 方阵循环右移 (20 分) 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正...
  • 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和n(1≤n≤6)。接下来...
  • 练习7-8 方阵循环右移 (20 分) 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正...
  • 练习7-8 方阵循环右移 (20 分) 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正...
  • 实验7-2-7 方阵循环右移 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和...
  • 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和n(1≤n≤6)。接下来...
  • 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和n(1≤n≤6)。接下来...
  • 2 3 1 2 3 4 5 6 7 8 9 #include <stdio.h> #define MAXN 6 int main() { int m, n, i, j; int a[MAXN][MAXN]; scanf("%d %d", &m, &n); for (i = 0; i < n; i++) for (...
  • 题目来源:浙大版《C语言程序设计(第3版)》题目集 7-8 代码: #include <stdio.h> #include <stdlib.h> int* newMatrix(int n); //分配一块内存并存储矩阵元素 void change(int* p,int m,int n);//...
  • 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式: 输入第一行给出两个正整数m和n(1≤n≤6)。接下来...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

c语言方阵循环右移

c语言 订阅