首页 > 编程语言 >Python123:找出不是两个数组共有的元素、矩阵运算、方阵循环右移(C语言)

Python123:找出不是两个数组共有的元素、矩阵运算、方阵循环右移(C语言)

时间:2024-07-02 17:56:46浏览次数:21  
标签:右移 输出 int scanf 样例 C语言 Python123 printf 输入

文章目录

1、找出不是两个数组共有的元素

题目: 给定两个整型数组,本题要求找出不是两者共有的元素。

输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输出格式: 在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入样例:

10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1

输出样例:

3 5 -15 6 4 1

代码1

#include<stdio.h>
int main()
{
 int a,i,k,z,h=0,n,p;
 scanf("%d",&a);
 int s[a];
 for(i=0;i<a;i++){scanf("%d",&s[i]);}
 int b;
 scanf("%d",&b);
 int g[b];
 for(i=0;i<b;i++){scanf("%d",&g[i]);}
 for(i=0;i<a;i++){
  z=0;
  for(k=0;k<b;k++)              
  {
   if(s[i]==g[k])
   {
    z=1;                       
    break;
   }
  }
  if(z==0)               
   {
    p=0;
    for(n=0;n<i;n++)
    {
     if(s[n]==s[i])                 
     {
      p=1;
      break;
     }
    }
    h++;
    if(h==1 && p==0) printf("%d",s[i]);       
    if(h>1 && p==0) printf(" %d",s[i]);
   }
 }
 for(i=0;i<b;i++)
 {
  z=0;
  for(k=0;k<a;k++)
  {
   if(g[i]==s[k])                         
   {
    z=1;
    break;
   }
   
  }
  if(z==0) 
   {
    p=0;
    for(n=0;n<i;n++)
    {
     if(g[n]==g[i])
     {
      p=1;
      break;
     }
    }
    h++;
    if(h==1 && p==0) printf("%d",g[i]);
    if(h>1 && p==0) printf(" %d",g[i]);
   }
 }
 return 0;
}    

代码2

#include<stdio.h>  
int main()    
{  
    int m;  //为End Of File的缩写,表示在操作系统中表示资料源无更多的资料可读取                                
    while(scanf("%d",&m)!=EOF){   
        int a[20],i;  
        for(i=0;i=n) {   //正常结束 a[i]和数组b没有值共有 
                c[k]=a[i];   //数组c记录 这个非共有值 
                k++;  
            }  
        }         
        
        for(i=0;i=m){  
                c[k]=b[i];  
                k++;  
            }  
        }  
        
        printf("%d",c[0]);  
        for(i=1;i=i)  
                printf(" %d",c[i]);  
        }  
        printf("\n");  
    }  
    return 0;  
}

 
 

2、矩阵运算

题目: 给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入格式: 输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输出格式: 在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入样例:

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

输出样例:

35

代码

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

 
 

3、方阵循环右移

题目: 本题要求编写程序,将给定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 i,j,k,n,m,l;
	scanf("%d",&m);
	scanf("%d",&n);
	int a[n][n];
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			scanf("%d",&a[i][j]);
		}
	}
	for(k=1;k<=m;k++){
		for(i=0;i<n;i++){
			l=a[i][n-1];
			for(j=n-1;j>0;j--){
				a[i][j]=a[i][j-1];
			}
			a[i][j]=l;
		}
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}

标签:右移,输出,int,scanf,样例,C语言,Python123,printf,输入
From: https://blog.csdn.net/chat8052/article/details/140131555

相关文章

  • 【C语言入门】C语言入门:探索编程世界的基础概念
    ......
  • C语言复习
    C语言必问(待更新)1、变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。2、C语言中,变量的作用域在C语言中,......
  • #C语言基础 笔记二
    强制转换inta=5;floatb=a/2;//2.000000floatb=(float)a/2;//2.500000#include<stdio.h>intmain(intargc,charconst*argv[]){inta=5;floatb=(float)a/2;printf("%d%f\n",a,b);return0;}分支语句if......
  • 墨烯的C语言技术栈-C语言基础-002
    二.第一个C语言写第一个C语言程序环境VS20221.打开VS20222.创建项目3.创建源文件.c源文件.h头文件.cpp编译器会按照C++的语法编译代码.c编译器会按照C语言的语法编译代码C语言的源文件必须要有main方法//标准的主函数的写法intmain(){printf("hehe\n"......
  • 大话C语言:第26篇 静态库
    1静态库概述C语言静态库(StaticLibrary)是一种包含一组目标文件的归档文件,这些目标文件通常是由多个C语言源文件编译而成的。静态库在程序编译时被链接到目标程序中,成为程序的一部分,因此在运行时不再需要额外的库文件。与动态库(DynamicLibrary)不同,静态库在编译时就已经被完全......
  • 16_C语言编程基础
    目录C语言入门程序段和代码段C语言入门实例英文分号(;)注释标识符保留字C中的空格C数据类型基本类型sizeof获取存储字节void类型变量C数组C枚举C中的左值(lvalue)和右值(rvalue)C常量变量存储类型C常用关键字(保留字)宏定义#defineconst关键字static关......
  • 利用阿里云API获取实时天气信息|C语言Linux网络编程练手小项目
    文章目录目录文章目录前言一、HTTP数据请求1.HTTP概述2.数据请求方式3.JSON格式二、阿里云API获取,使用1.购买(白嫖)API接口步骤2.API使用代码编写3.编译程序 4.运行结果总结前言在项目开发时常常需要显示各种信息,如时间、天气、温度、空气质量指数等等。在......
  • C语言--vs使用调试技巧
     1.什么是bug?1.产品说明书中规定要做的事情,而软件没有实现。2.产品说明书中规定不要做的事情,而软件确实现了。3.产品说明书中没有提到过的事情,而软件确实现了。4.产品说明书中没有提到但是必须要做的事情,软件确没有实现。5.软件很难理解,很难使用,速度超慢,测试人员站在......
  • 墨烯的C语言技术栈-C语言基础-001
    (最近报名了9月的计算机二级得好好重温一下C语言祝我计算机二级必过!)学习视频为B站的哔哩大学计算机学院参考书籍为C语言程序设计第五版(张磊主编)一.什么是C语言C语言是一门通用计算机编程语言广泛应用底层开发C语言的设计目标是提供一种能以简易的方式编译处理低级存......
  • c语言malloc、calloc 和 realloc动态分配内存函数的区别
    c语言malloc、calloc和realloc动态分配内存函数的区别malloc、calloc和realloc是C语言中用于动态内存分配的三个重要函数,它们之间有一些关键的区别。以下是这三个函数的区别,以分点表示和归纳的形式进行解释:内存来源和初始化:malloc:在堆上分配指定大小的内存块,但不进行初始化......