博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PTA 数组(C语言)
阅读量:2055 次
发布时间:2019-04-28

本文共 6222 字,大约阅读时间需要 20 分钟。

文章目录

1.选择法排序 (20 分)

本题要求将给定的n个整数从大到小排序后输出。

输入格式:

输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

4
5 1 7 6
输出样例:
7 6 5 1

#include 
int main(){
int x,n,i,t; scanf("%d",&n); int a[n]; for(i=0;i
a[i]) {
t=a[i+1]; a[i+1]=a[i]; a[i]=t; } printf("%d",a[0]); for(i=1;i

2. 交换最小值和最大值 (15 分)

本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

注意:题目保证最大和最小值都是唯一的。

输入格式:

输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。

输出格式:

在一行中顺序输出交换后的序列,每个整数后跟一个空格。

输入样例:

5
8 2 5 1 4
输出样例:
1 2 5 4 8

#include 
int main(){
int j,n,i; scanf("%d",&n); int a[n]; for(i=0;i
max) {
max=a[i]; j=i; } } a[j]=a[n-1]; a[n-1]=max; for(i=0;i

3.fibonacci数列 (10 分)

用数组计算fibonacci数列的前12个数,并按每行打印3个数的格式输出。

输入格式:

无输入

输出格式:

请使用%6d的格式输出;注意输出最后一个数字后,有一个换行

输出样例:

1 1 2
3 5 8
13 21 34
55 89 144

#include 
int main(){
int i; int a[12]={
1,1}; for(i=2;i<12;i++) a[i]=a[i-1]+a[i-2]; for(i=0;i<12;i++) {
printf("%6d",a[i]); if((i+1)%3==0) printf("\n"); } }

4.逆序 (10 分)

对n个整数组成的一维数组按逆序重新存储并输出(n<10)。

输入格式:

第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出n个逆序的整数。每个数输出占4列。

输入样例:

5
7 6 5 8 1
输出样例:
1 8 5 6 7

#include
int main(){
int n,i; int a[10]; scanf("%d",&n); for(i=0;i
=0;i--) printf("%4d",a[i]);}

5.插入有序数组 (10 分)

一个长度为10的数组中输入n(0≤n≤9)个整数,这n个整数从小到大有序。再输入一个x,把它插入数组适当位置,使数组仍保持有序。

输入格式:

输入n,再以从小到大顺序输入n个整数,再输入x。

输出格式:

插入x后的数组,数与数间用空格分割。

输入样例:

5
1 3 5 7 9
2
输出样例:
1 2 3 5 7 9

#include 
int main(){
int x,n,i,t; scanf("%d",&n); int a[10]; for(i=0;i
a[i+1]) {
t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=0;i<=n;i++) {
printf("%d ",a[i]); } return 0;}

6.找10个整数中的最大值 (12 分)

输入10个整数保存到一个数组中,找出其中的最大值并输出。

输入格式:

输入10个整数,数据中间用一个空格分隔。

输出格式:

输出最大值并换行。

输入样例1:

1 2 3 10 4 6 5 7 8 9
输出样例1:
10
输入样例2:
10 1 2 3 4 5 6 7 8 9
输出样例2:
10

#include 
int main(){
int i,a[10],max; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; for(i=1;i<10;i++) {
if(a[i]>max) max=a[i]; } printf("%d",max);}

7. 找出数组中元素的最大数,并指出其位置 (10 分)

找出数组中值最大的一个元素,并指出它是第几个元素。

输入格式:

从键盘上给10个整型数组元素赋值,之间用空格隔开。

输出格式:

第m个数最大,最大数是:x。

输入样例:

在这里给出一组输入。例如:

-123 5 78 24 69 6 8 687 0 -900

输出样例:
在这里给出相应的输出。例如:

第8个位置的数最大,最大数是:687

#include 
int main(){
int i,a[10],max,t; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; t=0; for(i=1;i<10;i++) {
if(a[i]>max){
max=a[i]; t=i; } } printf("第%d个位置的数最大,最大数是:%d",t+1,max);}

8.排序问题 (15 分)

从键盘输入某班学生某门课程的成绩(每班人数最多不超过40人),当输入为负值时,表示输入结束,试编程将分数从高到低顺序进行排序输出。用函数编程实现排序功能。

输入格式:

以空格分隔,不超过40个的整数数值,以负数结束

输出格式:

从大到小排序后的数值,以逗号分隔,最后一个数后不跟逗号,不包含输入的最后一个负数

输入样例:

在这里给出一组输入。例如:

64 85 73 99 92 -1

输出样例:
在这里给出相应的输出。例如:

99,92,85,73,64

#include
int main(){
int i,j,t,n=0; int a[40]; for(i=0;;i++) {
scanf("%d",&a[i]); n++; if(a[i]<0) break; } for(j=0;j

9.计算字符串数组长度 (10 分)

从键盘任意输入一个字符串,用数组的方式计算其实际字符个数并打印出来,即不使用字符串处理函数strlen()编程实现strlen的功能。

函数接口:

unsigned int MyStrlen(const char str[])
输入格式:
字符串

输出格式:

字符串长度

输入样例:

在这里给出一组输入。例如:

hello world

输出样例:
在这里给出相应的输出。例如:

11

#include
#include
int main(){
int s=0; char a[20]; gets(a); {
s=strlen(a); } printf("%d",s);}

10.字符串字母大小写转换 (15 分)

本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。

输入格式:

输入为一个以“#”结束的字符串(不超过30个字符)。

输出格式:

在一行中输出大小写转换后的结果字符串。

输入样例:

Hello World! 123#
输出样例:
hELLO wORLD! 123

#include
int main(){
char a[32]; int i; gets(a); for(i=0;a[i]!='#';i++) {
if(a[i]>='a'&&a[i]<='z') {
printf("%c",a[i]-32); } else if(a[i]>='A'&&a[i]<='Z') {
printf("%c",a[i]+32); } else printf("%c",a[i]); }}

11.字符串连接 (15 分)

从键盘输入两个字符串,将第二个字符串连接在第一个字符串的末尾,然后输出连接后的字符串。要求不能使用strcat函数。

输入格式:

输入只有一行,为两个字符串,中间用空格隔开。每个字符串的长度都不超过100。

输出格式:

输出只有一行,为连接后的字符串。

输入样例:

hello world
输出样例:
helloworld

#include
int main(){
char a[100],b[100]; scanf("%s %s",a,b); printf("%s%s",a,b);}

12.将字符串逆序输出 (15 分)

将字符串逆序输出。输入一个字符串后,将其逆序输出。

输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

输出格式:

在一行中输出逆序后的字符串。

输入样例:

C/C++
输出样例:
++C/C

#include
#include
int main(){
int i,n; char a[81]; gets(a); n=strlen(a); for(i=n-1;i>=0;i--){
printf("%c",a[i]); }}

13. 996 (15 分)

在这里插入图片描述

996工作制是指工作日早9点上班,晚上9点下班,中午和傍晚休息1小时(或不到),总计10小时以上,并且一周工作6天的工作制度。2019年3月27日,一个名为“996ICU”的项目在GitHub上传开。程序员们揭露"996ICU"互联网公司,抵制互联网公司的996工作制度。2019年12月2日,996入选《咬文嚼字》2019年十大流行语。 同日,入选国家语言资源监测与研究中心发布的“2019年度十大网络用语“。 本题就请你编写程序,将句子中的”996”替换成” 996ICU”。

输入格式:

输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。

输出格式:

从左到右扫描输入的句子:如果句子中有"996"子串,则将其替换为"996ICU";其他内容不受影响,原样输出。

输入样例:

Working overtime 996 is not as good as 966.
输出样例:
Working overtime 996ICU is not as good as 966.

#include
#include
int main(){
char s[1000]; int i,k1=0,k2=0; gets(s); for(i=0;i

14.求二维数组周边元素的累加和 (10 分)

求一个二维数组周边元素的累加和。 输入一个二维数组的行数m(m<10),列数n(n<10),二维数组的各元素值。输出周边元素之和。

输入格式:

输入的第一行为矩阵的行数和列数,从第二行开始,为矩阵元素的输入。

输出格式:

输出周边元素之和。

输入样例:

在这里给出一组输入。例如:
3 4
1 2 3 4
5 6 7 8
1 2 3 4
输出样例:
在这里给出相应的输出。例如:
33

#include
int main(){
int i,j,m,n,sum=0; int a[10][10]; scanf("%d %d",&m,&n); for(i=0;i

15.杨辉三角 (10 分)

求杨辉三角的前n行数据。

输入格式:

输入n(n<10)值。

输出格式:

输出杨辉三角的前n行数据,每个数据占4列。

输入样例:

5
输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

#include
int main(){
int n,i,j; int a[10][10]; scanf("%d",&n); for(i=0;i

16.求矩阵中的最大小值 (15 分)

向一个n×m的数组中输入一组整数(n<=10,m<=10),然后输出其中的最大值、最小值,并输出这两个值的下标。

输入格式:

第一行输出n×m的数组中的最大值及其下标。每两项之间一个空格。 第二行输出n×m的数组中的最小值及其下标。每两项之间一个空格。 (如果有相同的最大的数,要求输出行列最小,行优先)

输出格式:

请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。

输入样例:

3 5
57 30 66 41 98
11 93 54 62 31
49 87 71 70 37
输出样例:
max=98 row=0 col=4
min=11 row=1 col=0

#include
int main(){
int i,j,m,n; int max=0,min=0,row1,col1,row2,col2; int a[20][20]; while(scanf("%d",&m)!=EOF){
row1=col1=row2=col2=0; scanf("%d",&n); for(i=0;i
a[i][j]) {
min=a[i][j]; row2=i; col2=j; } } } printf("min=%d row=%d col=%d\n",min,row2,col2); }}

转载地址:http://ajnlf.baihongyu.com/

你可能感兴趣的文章
解决activemq多消费者并发处理
查看>>
UDP连接和TCP连接的异同
查看>>
hibernate 时间段查询
查看>>
java操作cookie 实现两周内自动登录
查看>>
Tomcat 7优化前及优化后的性能对比
查看>>
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
被废弃的dispatch_get_current_queue
查看>>
什么是ActiveRecord
查看>>
有道词典for mac在Mac OS X 10.9不能取词
查看>>
关于“团队建设”的反思
查看>>
利用jekyll在github中搭建博客
查看>>
Windows7中IIS简单安装与配置(详细图解)
查看>>