C语言试题系列-第六章(数组)

2023-05-16

目录

前言

一、选择法从大到小排序

二、实验6 - 数组(实验报告见资源下载)

三、编写程序,输入4个字符串,找出其中最大者

四、实验7 字符串及字符数组(实验报告见资源下载)

五、将数组中的数逆序存放

六、 输出冒泡法排序某一轮排序结果

七、方阵循环右移

八、字符古风排版

总结

前言

1.本专栏基于谭浩强先生写的《C程序设计(第五版)》与《C程序设计(第五版)学习辅导》配套的相关试题和实验,给出常见C语言基础试题相应代码,方便大家参考学习

2.本专栏所有代码均在本地及Online Judge(OJ)平台测试通过,注意各大OJ平台的测试标准不同,可能存在出入,若很遗憾无法提交,则仅作为程序实现思想交流

3.本专栏仅收录个人C实验,仅仅实现程序功能,不涉及高性能算法,当然也欢迎算法师傅交流优化

4.部分代码参考网上代码后经个人修改优化,望周知

5.部分代码存在与题目描述不符的情况,望周知

6.创作不易,整理不易,若对您有帮助请评论/点赞/收藏/转发,尊重每个技术人!

一、选择法从大到小排序

【问题描述】选择法从大到小排序:输入一个正整数n,再输入n个整数,将它们从大到小排序后输出。

【输入形式】
【输出形式】
【样例输入】5

                    4 5 1 7 9

【样例输出】The sorted order:9 7 5 4 1

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i=0;
	int j=0;
	int tmp,n;
	int arr[20];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for(i=0;i<n-1;i++)
		{
			for(j=i+1;j<n;j++)
			{
				if(arr[j]<arr[i])
				{
					tmp=arr[i];
					arr[i]=arr[j];
					arr[j]=tmp;
				}
			}
		}
	printf("The sorted order:");
	for(i=n-1;i>=0;i--)
	{
		printf("%d ",arr[i]);
	}
	system("pause");
	return 0;
}

二、实验6 - 数组(实验报告见资源下载)

实验6-数组-实验报告-C文档类资源-CSDN文库https://download.csdn.net/download/m0_66842854/87524078

三、编写程序,输入4个字符串,找出其中最大者

【问题描述】

编写程序,输入4个字符串(单个字符串最长为29),找出其中最大者。

【输入形式】

4个字符串
【输出形式】

4个字符串中的最大者

【样例输入】

abdc

./,!!

%%gogo

tests

【样例输出】

the largest string is:

tests

【提示】

① 先定义二维字符数组str[4][30],用于保存4个字符串,再定义字符数组str1[30],作为保存字符串的临时空间;

② 用循环语句输入4个字符串;

③ 用求最大值的算法找出4个字符串中的最大者并输出。

注意:可使用字符串函数strcmp()比较字符串的大小,使用字符串函数strcpy()将字符串保存到相应存储空间。

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[4][30];
	char str2[30]; 
	int i;
	for (i=0;i<=3;i++)
	{
		gets(str1[i]); 
	}
	strcpy(str2,str1[0]);
	for(i=0;i<=3;i++){
		if(strcmp(str1[i],str2)>0){
			strcpy(str2,str1[i]);
		}
	}
    printf("the largest string is:\n%s\n",str2);
	return 0;
}



四、实验7 字符串及字符数组(实验报告见资源下载)实验7-字符串及字符数组-C文档类资源-CSDN文库https://download.csdn.net/download/m0_66842854/87524086

五、将数组中的数逆序存放

【问题描述】将数组中的数逆序存放:输入一个正整数n (1<n≤10),再输入n 个整数,存入数组a中,先将数组a中的这n个数逆序存放,再按顺序输出数组a中的n个元素。

【输入形式】
【输出形式】
【样例输入】

5

3 5 9 4 8

【样例输出】

After reversed: 8 4 9 5 3

#include <stdio.h>
int main()
{	
	int n;
	scanf("%d",&n);
	int a[n-1];
	for(int i=0;i<n;i++){
		scanf("%d",&a[i]);
	}	
	int temp; 
	for(int i=0;i<n/2;i++){
		temp=a[i];
		a[i]=a[n-i-1];
		a[n-i-1]=temp;
	}
	printf("After reversed: ");
	for(int i=0;i<n;i++){
		printf("%d ",a[i]); 
	} 
    return 0;
}

六、 输出冒泡法排序某一轮排序结果

【问题描述】

将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。

本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。

【输入形式】

输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。

【输出形式】

在一行中输出冒泡排序法扫描完第K遍后的中间结果数列,数字间以空格分隔,但末尾不得有多余空格。

【样例输入】

6 2

2 3 5 1 6 4

【样例输出】

2 1 3 4 5 6


#include <stdio.h>
#include <stdlib.h>
#define N 100
 
int main()
{
    int n,k,arr[N],i,j,t;
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    for(j=0;j<k;j++)
    {
        for(i=0;i<n-1;i++)
        {
            if(arr[i]>arr[i+1])
            {
                t=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=t;
            }
        }
    }
    for(i=0;i<n-1;i++)
    {
        printf("%d ",arr[i]);
    }
    printf("%d",arr[n-1]);
    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,m可能会大于n)。接下来一共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 a[10][10];
    int i, j, n, m;
    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][(n - m + j) % n]);
        }
    	printf("\n");
    }
    return 0;
}

八、字符古风排版

【问题描述】

我国古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版

【输入形式】

输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

【输出形式】

按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。

【样例输入】

5

it is a good poem

【样例输出】

【说明】

为了保证每列对齐,当要排版的字符不能被N整除时,输出的字符,最左边一列最后空的位置需增加' ',即使用单个空格字符填充。

#include <stdio.h>
#include <string.h>
int main()
{
	char arr[100][100] ;
	char str[1005] ;
	int n = 0;
	scanf("%d", &n);
	getchar();
	gets(str);
	int L = strlen(str) / n;
	if (strlen(str) % n != 0)
	{
		L++;
	}
	int k = 0;
	for (int i = L-1; i >= 0; i--)
	{
		for (int j = 0; j < n; j++)
		{
			if (str[k] == '\0')
			{
				arr[j][i] = ' ';
			}
			else
			{
				arr[j][i] = str[k];
				k++;
			}
		}
	}
	for (int p=0;p<n; p++)
	{
		for (int q = 0; q < L; q++)
		{
			printf("%c", arr[p][q]);
		}
		printf("\n");
	}
	return 0;
}


总结

本专栏旨在帮助C语言初学者学习编程,仅供学习交流!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言试题系列-第六章(数组) 的相关文章

  • 关于Ubuntu20.04文件系统思考

    文章目录 问题产生Ubuntu文件系统中普通用户可读写地址Ubuntu文件系统Ubuntu文件系统详解一级目录二级目录 查找Ubuntu中软件安装位置Ubuntu修改文件权限 问题产生 使用electron框架开发桌面端跨平台软件时 xff
  • <JDBC>事务处理的剖析,及四种隔离级别

    x1f6d2 本文收录与专栏 xff1a JDBC 专栏 x1f4e2 专栏目的是解释JDBC的关键点 xff0c 与各位一路同行 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 抬头向前看 目录 事务处理 x1f
  • 牛客网刷题记录 || 指针

    x1f6d2 本文收录于专栏 xff1a 牛客网刷题记录 x1f4e2 专栏目的是对于刷题过程的记录 xff0c 题型的列举和讲解 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 这是牛客网刷题记录专栏第一篇博文
  • 猿创征文|<JDBC>多种开源数据库连接池

    x1f6d2 本文收录与专栏 xff1a JDBC 专栏 x1f4e2 专栏目的是解释JDBC的关键点 xff0c 与各位一路同行 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 注定要去的地方 xff0c 多晚都
  • 牛客网刷题记录 || 链表

    这是牛客网刷题记录专栏第一篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || C++入门

    这是牛客网刷题记录专栏第五篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 结构体和类

    这是牛客网刷题记录专栏第五篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 运算符与分支

    这是牛客网刷题记录专栏第六篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 循环

    这是牛客网刷题记录专栏第七篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 2021年互联网大厂的中秋仪式感

    中秋节快到了 xff0c 就想起来去年互联网大厂的月饼礼盒大比拼 xff0c 来给大家盘点一下2021年互联网大厂的中秋礼盒 xff0c 等今年礼盒出了再一起看看 xff0c 咱吃不到 xff0c 就多看看 xff0c 提前祝大家中秋节快乐
  • Git从入门到项目实战,一篇文章吃透Git

    博主今天刚学完Git就来总结笔记了 xff0c Git好强大 xff0c 不愧是目前世界上最先进的分布式版本控制系统 即使再小的帆也能远航 目录 x1f50e Git版本控制 x1f525 常见版本控制工具 x1f525 版本控制分类 x1
  • Linux gzip gunzip(压缩与解压缩)命令

    gzip xff1a 压缩命令 格式 xff1a gzip 源文件 xff08 不保留源文件 xff09 例 xff1a 格式 xff1a gzip r 目录 xff08 只能压缩目录下的文件 xff0c 不能压缩目录 xff09 例 xf
  • 猿创征文|Spring5梦开始的地方:入门必看

    x1f6d2 本文收录与专栏 xff1a Spring5 专栏 x1f4e2 专栏目的是记录学习攻克难点 xff0c 与各位一路同行 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 阅己 xff0c 越己 xff0
  • 2022年互联网大厂的中秋仪式感

    续上篇2021年互联网大厂的中秋仪式感 xff0c 最新的2022年互联网大厂中秋仪式感来了 目录 中秋礼盒 x1f96e 创新乐知阿里巴巴腾讯字节跳动京东网易百度新浪美团哔哩哔哩小红书华为小米大疆知乎快手 中秋礼盒 x1f96e 创新乐知
  • 结构体的冒泡排序

    C 数组允许定义可存储相同类型数据项的变量 xff0c 结构是 C 编程中另一种用户自定义的可用的数据类型 xff0c 它允许您存储不同类型的数据项 首先要先定义结构体类型 xff0c 再定义相应的结构体变量 xff0c 定义结构体类型的一
  • ftp外网访问小知识

    ftp是一种处于应用层的用于文件传输的协议 是基于TCP协议的应用层协议 xff0c 用于在网络上传输文件 ftp协议较其他网络协议更为复杂 xff0c 与一般的C S应用不同点在于 xff1a 一般的C S应用程序只会建立一个Socket
  • Mybatis_plus使用自定义sql 查询并分页时,sql后自己添加LIMIT ? OFFSET?

    64 Select IPage lt Map gt select String batchId String type String tableName Page lt T gt page Page lt DLGMetaDataField
  • C语言程序设计课后习题:利润问题

    题目 xff1a 使用switch 或者 if 语句完成 注 xff1b 此代码没有问题但在qinglen下不会通过 企业发放的奖金根据利润提成 利润 I 低于或等于100000元时 奖金可提10 xff1b 利润高于100000元 低于2
  • Ubuntu显示lines 1-14/14(end)

    Ubuntu下载MySQL xff0c 运行MySQL时 xff0c 终端显示这个 xff0c 一直退出不了 xff0c 我查了之后以为是要你输入密码 xff0c 结果不行 xff0c 然后搜到按q键退出 xff0c md
  • 3Dslicer在windows下源码编译源码并打包程序亲测可用

    对于医疗图像数据可视化有一些比较成熟的开源软件库 xff0c 其中包括volview 2011年已经停止维护和更新 xff0c MITK xff08 德国非中科大版 xff09 xff0c 3Dslicer和ITK SNAP 3Dslice

随机推荐

  • mysql 8.0以上重置密码

    命令行都要以管理员运行 1 xff1a net stop mysql 停止mysql服务 2 xff1a mysqld console skip grant tables shared memory 启动MySQL服务的时候跳过权限表认证
  • 硬件iic与软件iic的正确使用

    MCU中常见的通讯方式 xff1a USART SPI CAN 485 Bluetooth WIFI 4G xff0c 而IIC是除这些外另一种通讯方式 对于STC的MCU只能用软件IIC xff0c 对于stm8和stm32的MCU可以用
  • Linux连接外网

    1 右键虚拟机 xff0c 选择设置 2 点击网络适配器 xff0c 选择NAT模式 xff0c 点击确认 xff0c 返回 3 点击右上角区域 xff0c 点击小圆圈有钳子样的图标 xff0c 进入设置界面 xff0c 点击网络并打开 4
  • C基础 输入一个日期判断是否为闰年 并计算是这一年的第几天

    1 首先要搞清闰年的判断方法 闰年 xff1a xff08 1 xff09 如果year能够被4整除 xff0c 但是不能被100整除 xff0c 则year是闰年 xff08 2 xff09 如果year能够被400整除 xff0c 则y
  • C语言经典题目50题

    程序1 题目 xff1a 有1 2 3 4个数字 xff0c 能组成多少个互不相同且无重复数字的三位数 xff1f 都是多少 xff1f 1 程序分析 xff1a 可填在百位 十位 个位的数字都是1 2 3 4 组成所有的排列后再去 掉不满
  • 用c语言多种实现快速排序(有完整代码带注释)

    快速排序是一种把大问题分成小问题的算法 它的目的是把一个无序的数组变成有序的数组 它的思想如下 xff1a 首先选择数组的第一个数作为 中间值 然后把数组分成两半 xff0c 左边的数都比中间值小 xff0c 右边的数都比中间值大 对左边和
  • MySQL 8.0.29 设置和修改默认密码

    MySQL 8 0 29 设置和修改默认密码 修改密码 xff1a 登录时因为你没设置root的初始密码 xff0c 导致报错 密码以加密的形式存储在mysql数据库中的user表中的authentication string字段中 参考链
  • Manjaro Linux / Arch Linux 换源命令

    span class token function sudo span pacman mirrors i c China m rank 输入密码 xff0c 选择最快的源
  • C语言中形参和实参对类型的要求

    实参 xff1a 常量 变量 表达式 函数等任意类型 形参 xff1a 变量 xff0c 在被定义的函数中 xff0c 必须指定形参的类型 形式参数就是定义函数名和函数体时需要用的参数 xff0c 目的是用来接收调用该函数时传递的参数 实际
  • 位操作符【左移、右移、按位取反、按位与、按位或、按位异或】【详解】

    本期介绍 x1f356 主要介绍 xff1a 位操作符有哪些 xff0c 位操作符操作的对象 xff0c 整数在内存中是如何存放的 xff0c 有哪些位操作符 xff0c 各自又都具备何种功能 x1f440 文章目录 一 前言二 整数在内存
  • ceph (cephadm)集群部署

    ceph 集群部署 cephadm 方法1 xff1a ansible ceph ansible使用Ansible部署和管理Ceph集群 xff08 1 xff09 ceph ansible被广泛部署 xff08 2 xff09 ceph
  • Maven项目中pom.xml文件被Ignored(忽略)的解决办法问题

    出现的原因 xff1a 新创建的Maven项目与之前被删除的Maven项目重名了 xff1b 由于相同名称的Module在之前被创建过 xff0c 因此在IDEA中留有痕迹 重新创建一个新的同名Module会让IDEA误以为是之前被Disa
  • OpenFeign如何实现微服务之间的调用(简单易学)

    Feign已经断更 xff0c 所以Spring官方也推荐使用OpenFeign 这里就不浪费时间介绍什么是Feign了 xff0c 自行百度 xff01 使用方法 xff1a 一 pom引入依懒 lt dependency gt lt g
  • 熔断 所有的配置说明

    以下代码主要是对 64 HystrixCommand注解中的commandProperties属性说明 64 HystrixCommand fallbackMethod 61 34 fallbackMethod 34 groupKey 61
  • IDEA项目Application没有变绿叶小图标解决方法

    IDEA有时候会抽风 xff0c 就算是新建的项目也会出现这种情况 xff0c 下面就教大家如何解决这种情况 xff01 虽然没什么太大的影响 xff0c 但不好看 啊 xff01 而且没有代码提示也是让人用着不爽 一 找到File Pro
  • 配置中心报:reject HostKey: github.com

    spring cloud config配置中心获取github上文件时 xff0c 报错 xff1a reject HostKey github com 解决方法 xff1a 将SSH调用 xff1a git 64 github com X
  • Vscode安装C环境之中文编码问题

    目录 前言 一 解决代码区内中文乱码问题 二 解决代码编译时由于中文而导致的报错信息 三 解决命令终端的中文乱码问题 总结 前言 1 网络教程有新旧 xff0c 本文预测自发布日起前后6个月均有参考价值 因为涉及插件 IDE 编译器等的更新
  • 沙拉查词配置浏览器外翻译(为你的电脑配置一个随时翻译器吧!)

    目录 前言 一 插件安装 以安装用户可跳转至步骤二 二 配置桌面翻译 三 使用方法及分析 四 适用场景 插件级翻译的优势 总结 前言 1 撰写本篇文章旨在提供一种轻量级 插件级 的桌面翻译的解决方案 xff0c 当然选择直接安装PC端翻译软
  • C语言试题系列-第一章

    目录 前言 一 输出简单字符串 二 三个整数之和 三 求三个数中最大的数 四 实验1 C程序的运行环境和运行C程序的方法 实验报告见资源下载 五 求国民生产总值与现在相比增长百分比 六 实验2 数据类型 运算符和简单的输入输出 实验报告见资
  • C语言试题系列-第六章(数组)

    目录 前言 一 选择法从大到小排序 二 实验6 数组 实验报告见资源下载 三 编写程序 xff0c 输入4个字符串 xff0c 找出其中最大者 四 实验7 字符串及字符数组 实验报告见资源下载 五 将数组中的数逆序存放 六 输出冒泡法排序某