您的位置:首页 > 编程语言 > C语言/C++

XYNU OJ 1090—1099基础题(适合于C语言初学者)

2017-07-23 19:11 204 查看


1090: 习题6-2 排序

时间限制: 1 Sec 内存限制: 12 MB

提交: 112 解决: 69

[提交][状态][讨论版][Edit]
[TestData]


题目描述

从键盘上输入10个整数,按照从小到大的顺序对这10个数排序。
采用选择法进行排序。


输入

输入以空格分隔的10个整数


输出

按从小到大排好序的10个数,每个数一行。


样例输入

1 8 6 3 4 2 9 0 7 5


样例输出

0
1
2
3
4
5
6
7
8
9


提示

选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。

基本思想:第1趟,在待排序记录r[1]~r
中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r
中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r
中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。

以下为简单选择排序的存储状态,其中大括号内为无序区,大括号外为有序序列:

初始序列:{ 49 27 65 97 76 12 38 }

第1趟:12与49交换:12 { 27 65 97 76 49 38 }

第2趟:27不动 :12 27 { 65 97 76 49 38 }

第3趟:65与38交换:12 27 38 { 97 76 49 65 }

第4趟:97与49交换:12 27 38 49 { 76 97 65 }

第5趟:76与65交换:12 27 38 49 65 { 97 76 }

第6趟:97与76交换:12 27 38 49 65 76 97 完成

注意C语言数组的下标是从0开始的。


来源

C语言第四版教学实验-第六章
数组


1091: 习题6-3 求整型矩阵对角线元素之和

时间限制: 1 Sec 内存限制: 12 MB

提交: 85 解决: 64

[提交][状态][讨论版][Edit]
[TestData]


题目描述

求一个3×3的整型矩阵对角线元素之和。


输入

从键盘上输入3×3的整型矩阵,要求输入3行,每行3个整数,每个数之间以空格分隔


输出

对角线元素之和,行尾换行。


样例输入

1 2 3
4 5 6
9 8 7


样例输出

13


提示

3×3的整型矩阵用一个3行3列的二维整型数组来描述。

若二维整型数组定义为int a[3][3],则对角线元素即为a[i][i],i=0, 1, 2


来源

C语言第四版教学实验-第六章
数组


1092: 习题6-4 有序插入

时间限制: 1 Sec 内存限制: 12 MB

提交: 64 解决: 46

[提交][状态][讨论版][Edit]
[TestData]


题目描述

有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。
假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。
然后再从键盘上输入一个整数,将此整数插入到前有序的9个数中,使得最终的10个数依然是从小到大有序的。


输入

第一行输入以空格分隔的9个整数数,要求按从小到大的顺序输入。
第二行输入一个整数


输出

从小到大输出这10个数,每个数一行。


样例输入

1 11 21 31 41 51 61 71 81
45


样例输出

1
11
21
31
41
45
51
61
71
81


提示

定义数组时,把数组长度定义为10.


来源

C语言第四版教学实验-第六章
数组


1093: 习题6-5 数组元素逆置

时间限制: 1 Sec 内存限制: 12 MB

提交: 68 解决: 59

[提交][状态][讨论版][Edit]
[TestData]


题目描述

将一个长度为10的整型数组中的值按逆序重新存放。
如:原来的顺序为1,2,3,4,5,6,7,8,9,0,要求改为0,9,8,7,6,5,4,3,2,1


输入

从键盘上输入以空格分隔的10个整数。


输出

按相反的顺序输出这10个数,每个数占一行。


样例输入

1 2 3 4 5 6 7 8 9 0


样例输出

0
9
8
7
6
5
4
3
2
1


提示


来源

C语言第四版教学实验-第六章
数组


1094: 习题6-6 杨辉三角

时间限制: 1 Sec 内存限制: 12 MB

提交: 99 解决: 57

[提交][状态][讨论版][Edit]
[TestData]


题目描述

按要求输入如下格式的杨辉三角
1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1
最多输出10层


输入

输入只包含一个正整数n,表示将要输出的杨辉三角的层数。


输出

对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开


样例输入

5


样例输出

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1


提示


来源

C语言第四版教学实验-第六章
数组


1095: 习题6-9 折半查找

时间限制: 1 Sec 内存限制: 12 MB

提交: 92 解决: 34

[提交][状态][讨论版][Edit]
[TestData]


题目描述

有10个整数已按从小到大的顺序排好序,存储在一个数组中,再输入一个数,要求用折半查找法找出该数是数组中的第几个元素(输出该元素的下标即可)。如果该数不在数组中,则输出"Not exist!"


输入

输入数据共2行
第一行10个整数,按从小到大的顺序输入,中间以空格分隔。
第二行1个整数


输出

折半查找所得该数所在数组中的元素下标,单独占一行。
若该数不存在,则输出一行信息 "Not exist!"


样例输入

1 2 3 4 5 6 7 8 9 10
3


样例输出

2


提示

折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果x<a[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。


来源

C语言第四版教学实验-第六章
数组


1096: 习题6-10 字符统计

时间限制: 1 Sec 内存限制: 12 MB

提交: 58 解决: 38

[提交][状态][讨论版][Edit]
[TestData]


题目描述

有一篇文章,共3行文字,每行不到80个字符。要求分别统计每行中字母、数字、空格以及其他字符的个数。


输入

从键盘上输入3行字符,每行不到80个字符。


输出

输出信息占3行
每行输出4个整数,分别表示该行字符中字母、数字、空格以及其他字符的个数,数字之间以空格分隔。


样例输入

I am a student!
I'm 18 years old.
One Two Three 1 2 3!@#


样例输出

11 0 3 1
10 2 3 2
11 3 5 3


提示


来源

C语言第四版教学实验-第六章
数组


1097: 习题6-12 解密

时间限制: 1 Sec 内存限制: 12 MB

提交: 66 解决: 51

[提交][状态][讨论版][Edit]
[TestData]


题目描述

有一行电文,已按如下规律译成密码:
A-->Z a-->z
B-->Y b-->y
C-->X c-->x
...... ......
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。


输入

输入一行密文


输出

解密后的原文,单独占一行。


样例输入

ZYX123zyx


样例输出

ABC123abc


提示


来源

C语言第四版教学实验-第六章
数组


1098: 习题6-13 字符串比较

时间限制: 1 Sec 内存限制: 12 MB

提交: 72 解决: 55

[提交][状态][讨论版][Edit]
[TestData]


题目描述

比较两个字符串s1和s2的大小,如果s1>s2,则输出一个正数;若s1=s2,则输出0;若s1<s2,则输出一个负数。
要求:不用strcpy函数;两个字符串用gets函数读入。
例如:"A"与"C"相比,由于"A"<"C",应输出负数,同时由于"A"与"C"的ASCII码差值为2,因此应输出"-2"。
同理:"And"和"Aid"比较,根据第2个字符比较的结果,"n"比"i"大5,因此应该输出"5"


输入

输入2行字符串


输出

一个整数,表示这两个字符串 比较的差值,单独占一行。


样例输入

And
Aid


样例输出

5


提示


来源

C语言第四版教学实验-第六章
数组


1099: 例题6-1 逆序输出数组元素

时间限制: 1 Sec 内存限制: 12 MB

提交: 102 解决: 62

[提交][状态][讨论版][Edit]
[TestData]


题目描述

从键盘上输入10个整数,存储在一个长度为10的整型数组中,要求将输入的10个数逆序输出。
如输入为:0,1,2,3,4,5,6,7,8,9 输出为9,8,7,6,5,4,3,2,1,0


输入

10个整数,以空格分隔


输出

将输入的10个整数逆序输出,每个数占一行。


样例输入

0 1 2 3 4 5 6 7 8 9


样例输出

9
8
7
6
5
4
3
2
1
0


提示


来源

C语言第四版教学实验-第六章
数组
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: