目录

一、判断题

二、选择题

三、函数题

6-1 统计个位数字

6-2 求整数数组中的最大值

★6-3 整理奇偶数增强篇 - 双指针

6-4 统计字符串中数字字符的个数

6-5 求n×n方阵主副对角线元素之和

6-6 十进制转换二进制

6-7 在带头结点的单链表表尾处插入一个新元素 - 数据结构

四、编程题

★7-1 找鞍点

7-2 找出总分最高的学生 - 结构体

7-3 求数列之和[A]


一、判断题

1-1  十进制数 2019 对应的二进制表示为 0111 1100 0011。     ( )

应该是0111 1110 0011

1-2  从信息的输入输出角度来说,磁盘驱动器和磁带机既可以看作输入设备,又可以看作输出设备                                                                                          ( T )

1-3  #include <stdio.h>是一条编译预处理命令 。                 ( T

1-4  宏定义不存在类型问题,宏名无类型,它的参数也无类型。         ( T )

1-5  一个数组是由连续的一块内存单元组成的,指针变量就是这块连续内存单元的首地址。                   ( F )

1-6  在使用结构指针时,->被称为指向运算符。                ( T )

1-7  C 程序中的注释相当于空白字符。                 ( T )

1-8  如果数据规模为n,冒泡排序的时间复杂度是O(n2)。                 ( T )

void bubbleSort(int a[])
{for(int i=0;i<a.length-1;i++) //控制比较轮次,一共 n-1 趟for(int j=0;j<a.length-1-i;j++) //控制两个挨着的元素进行比较if(a[j] > a[j+1]){int temp = a[j];a[j] = a[j+1];a[j+1] = temp;}
}

1-9  Non recursive programs are generally faster than equivalent recursive programs. However, recursive programs are in general much simpler and easier to understand.

( T )

非递归程序通常比等效的递归程序快。 然而,递归程序通常要简单得多,也更容易理解。

1-10   In most restaurants, we follow one principle called "First come, first served". This principle can be implemented by a stack.                ( F )

在大多数餐馆,我们都遵循一个叫做“先到先得”的原则。这个原理可以通过堆栈来实现。

错 栈是先进后出

二、选择题

2-1  下列各种进制的数中最小的数是                        ( D

A.二进制数(11010111)B

B.八进制数(332)O

C.十六进制数(8B)H

D.十进制数(130)D

全部转化为10进制

A  215    B 218  C 139  D 130

2-2  常说一台微机的内存容量为2G,指的是( A

A.2G字节

B.2G比特

C.2G字长

D.2G字

2-3   ______不是操作系统关心的主要问题.                ( D )

A.管理计算机裸机

B.设计,提供用户程序与计算机硬件系统的界面

C.管理计算机系统资源

D.高级程序设计语言的编译器

2-4  内存中每个基本单位,都被赋予一个唯一的序号,称为______         ( A )

A.地址

B.字节

C.字段

D.容量

2-5  数字字符"8"的ASCII码的十进制是56,那么数字字符"1"的ASCII码的十进制是___D___

A.54

B.58

C.60

D.49

2-6  以下关于线性表的叙述中正确的是        ( D )

A.每个元素都有一个前趋和后继元素

B.线性表中至少有一个元素

C.线性表中元素的排列次序必须是由小到大或由大到小

D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个前趋和后继元素

2-7  在单链表中,将 s 所指新结点插入到 p 所指结点之后,其语句应该为 ▁▁B▁▁▁ 。

A.p->next = s; s->next = p->next;

B.s->next = p->next; p->next = s;

C.s->next = p->next; p->next = s->next;

D.p->next = s->next; s->next = p->next;

2-8  已知二维数组 A 按行优先方式存储,每个元素占用 1 个存储单元。若元素 A[0][0] 的存储地址是 100,A[3][3] 的存储地址是 220,则元素 A[5][5] 的存储地址是:        ( B

A.295

B.300

C.301

D.306

按行优先  设每行有n个元素 由A[0][0]和A[3][3]的存储地址可知A[3][3]是二维数组A中的第121个元素  则n×3+4=121 (4是0 1 2 3)则n=39  则A[5][5]=5×39+5+100=300 (5是0 1 2 3 4)

2-9  Given the popping sequence of a stack as { 1, 2, 3, 4, 5, 6 }. Among the following, the impossible pushing sequence is:                                ( D )

A.3 2 1 6 5 4

B.6 5 1 2 3 4

C.6 5 4 1 2 3

D.4 6 5 1 3 2

2-10   The following list is a series of operations for a stack:                ( C

  • push 1
  • push 2
  • push 3
  • pop
  • pop
  • push 4
  • push 5
  • pop
  • push 6
  • push 7
  • pop
  • pop
  • pop
  • push 8
  • pop
  • push 9
  • pop
  • pop

Which is the correct pop-up sequence?

A.1 2 3 4 5 6 7 8 9

B.9 8 7 6 5 4 3 2 1

C.3 2 5 7 6 4 8 9 1

D.3 2 5 7 4 6 9 8 1

2-11  队列的“先进先出”特性是指( D ) 。

A.最早插入队列中的元素总是最后被删除

B.当同时进行插入、删除操作时,总是插入操作优先

C.每当有删除操作时,总是要先做一次插入操作

D.每次从队列中删除的总是最早插入的元素

2-12   微型计算机采用总线结构连接CPU.内存和外设,总线由三部分组成,它包括__C___

A.控制总线.地址总线和运算总线

B.地址总线.逻辑总线和信号总线

C.数据总线.地址总线和控制总线

D.数据总线.传输总线和通信总线

2-13   摩尔定律是指___C____。

A.芯片集成晶体管的能力每年增长一倍,其计算能力也增长一倍

B.芯片集成晶体管的能力每两年增长一倍,其计算能力也增长一倍

C.芯片集成晶体管的能力每18个月增长一倍,其计算能力也增长一倍

D.芯片集成晶体管的能力每6个月增长一倍,其计算能力也增长一倍

2-14  算法的时间复杂度取决于( A )

A.问题的规模

B.计算环境

C.程序的执行时间

D.计算机cpu

2-15  将十六进制数586转换成16位的二进制数,应该是___C__。

A.0000 0101 1000 0110

B.0110 1000 0101 0000

C.0101 1000 0110 0000

D.0000 0110 1000 0101

0101 1000 0110 0000 (每一位8 4 2 1法)

2-16  哪一种语言被称为低级语言?        ( B

A.C++

B.汇编语言

C.Java

D.Python

2-17  第一代电子计算机采用的电子元器件是( B )

A.晶体管

B.电子管

C.集成电路

D.大规模集成电路

1.代采用电子管

2.代采用晶体管

3.代采用中小规模集成电路

4.代采用超大规模集成电路

2-18   对算法的正确描述是__D__。

A.解决一个问题只有一种算法

B.对于所有问题都能找到实际可行的算法

C.算法包含语句越少,算法越先进

D.解决一个问题可以有多种算法

2-19   最近我国研制成功的具有自己知识产权的微处理器的名称是( C )。

A.奔芯

B.长城芯

C.龙芯

D.新芯

2-20  微型计算机的性能主要取决于( )。

A.内存

B.主板

C.中央处理器

D.硬盘

三、函数题

6-1 统计个位数字

本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。

函数接口定义:

int Count_Digit ( const int N, const int D );

其中ND都是用户传入的参数。N的值不超过int的范围;D是[0, 9]区间内的个位数。函数须返回ND出现的次数。

裁判测试程序样例:

#include <stdio.h> int Count_Digit ( const int N, const int D ); int main()
{ int N, D; scanf("%d %d", &N, &D); printf("%d\n", Count_Digit(N, D)); return 0;
} /* 你的代码将被嵌在这里 */

输入样例:

-21252 2

输出样例:

3
int Count_Digit ( const int N, const int D )
{int x,cnt=0;int n=N; //这里替换是因为 上面是const int 即N是不能改变的量if(n<0) n*=-1;  //这里负数要变成正数do{x=n%10;if(x==D) cnt++;n/=10;}while(n);  //这里用do while 是为了包含N=0 D=0的情况return cnt;
}

6-2 求整数数组中的最大值

用指针作函数参数,求一维整数数组中的最大元素。

函数接口定义:

int findMax(int *p,int n);

p为指向数组的指针,n 为数组元素个数。函数值为数组元素的最大值。

裁判测试程序样例:

#include <stdio.h>void ArrayRead(int *p,int n)  //向数组中输入数据
{for(int i=0;i<n;i++)scanf("%d",&p[i]);
}/* 你编写的函数放在这里   */int main()
{int n;scanf("%d",&n); //输入数组元素个数int a[n];       //声明一个具有n个元素的数组aArrayRead(a,n); //给数a组输入数据printf("Max = %d\n",findMax(a,n));return 0;
}

输入样例:

10
27 58 41 25 28 98 16 65 87 62

输出样例:

Max = 98
int findMax(int *p,int n) //这个指针p指向主函数传来的a数组
{int max=p[0];for(int i=1;i<n;i++)if(max<p[i]) max=p[i];return max;
}

6-3 整理奇偶数增强篇 - 双指针

本题要求实现一个函数,将数组中的奇数元素排在前半段,偶数排在后半段。

此方法采用从前往后找偶数,再从后往前找奇数的方法,找到后两者交换。

如1,2,3,4,7,6,5经过函数整理后变成1,5,3,7,4,6,2。其中2和5进行了交换,4和7进行了交换。

函数接口定义:

void oddeven(int a[],int n);

其中 n 为数据元素个数。

裁判测试程序样例:

#include <stdio.h>
#define N 20void oddeven(int a[],int n);int main()
{int a[N],i,n;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);oddeven(a,n);for(i=0;i<n;i++)printf("%d ",a[i]);return 0;
}/* 请在这里填写答案 */

输入样例:

7
1 2 3 4 7 6 5

输出样例:

1 5 3 7 4 6 2
void oddeven(int a[],int n)
{int t,l=0,r=n-1;  //l是左指针 r是右指针while(l<r){while(a[l]%2!=0) l++; //遇到偶数停止while(a[r]%2==0) r--; //遇到奇数停止if(l<r){t=a[l];a[l]=a[r];a[r]=t;}}
}

6-4 统计字符串中数字字符的个数

编写函数,统计字符串中数字字符的个数。字符串的长度不超过1000。函数的接口定义如下:

函数接口定义:

int DigitalStatistics(char *p);

p是指向字符串的指针。函数的返回值是统计结果。

裁判测试程序样例:

#include <stdio.h>
#include <string.h>  /* 你编写的函数放在这里 */  int main()
{char str[10001];gets(str);printf("Digital = %d\n",DigitalStatistics(str));return 0;
}

输入样例:

123tygxui70xA

输出样例:

Digital = 5
int DigitalStatistics(char *p)
{int digital=0;for(int i=0;p[i]!='\0';i++){if(p[i]>='0'&&p[i]<='9')digital++;}return digital;
}

6-5 求n×n方阵主副对角线元素之和

给定一个n×n的方阵(1⩽n⩽10),本题要求计算该方阵主对角线和副对角线所有元素之和。主对角线为从方阵的左上角至右下角的连线,副对角线为从方阵的右上到左下角的连线。

要求:

编写函数按照题意计算元素之和。

函数接口定义:

int sumMatrix(int (*a)[N],int n);

指针a指向了一个10×10的方阵,n为a指向的矩阵的阶数

裁判测试程序样例:

#include<stdio.h>
#define N 10
void createMatrix(int (*a)[N],int n)
{for(int i=0; i<n; i++){for(int j=0; j<n; j++){scanf("%d",&a[i][j]);}}
}/* 请在这里填写答案 */int main()
{int a[N][N];createMatrix(a);printf("%d\n",sumMatrix(a));return 0;
}

输入格式:

在第一行给出方阵的阶数n,随后给出n行数,每行n个数,表示方阵中的元素。

输出格式:

输出求和结果

输入样例:

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

输出样例:

110
int sumMatrix(int (*a)[N],int n)
{int sum=0;for(int i=0;i<n;i++)for(int j=0;j<n;j++){if(i==j||i+j==n-1)sum+=a[i][j];}return sum;
}

6-6 十进制转换二进制

本题要求实现一个函数,将非负整数n转换为二进制后输出。

函数接口定义:

void dectobin( int n );

裁判测试程序样例:

#include <stdio.h>void dectobin( int n );int main()
{int n;scanf("%d", &n);dectobin(n);return 0;
}/* 你的代码将被嵌在这里 */

输入样例:

10

输出样例:

1010
void dectobin( int n )
{int sum=0,t=1;while(n){sum+=n%2*t;t*=10;n/=2;}printf("%d",sum);
}

6-7 在带头结点的单链表表尾处插入一个新元素 - 数据结构

本题要求实现一个函数,在带头结点的单链表表尾处插入一个新元素e。

函数接口定义:

void insert ( LinkList L,ElemType e);

L是单链表的头指针,e是插入的数据元素。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>typedef int ElemType;typedef struct LNode
{ElemType data;struct LNode *next;
}LNode,*LinkList;LinkList Create();
void print(LinkList L);
void insert ( LinkList L,ElemType e);int main()
{int e;LinkList L = Create();print(L);printf("\n");scanf("%d",&e);insert(L,e);print(L);return 0;
}LinkList Create()
{LinkList L,p,s;ElemType e;L = (LinkList)malloc(sizeof(LNode));p=L;scanf("%d",&e);while(e!=-1){s = (LinkList)malloc(sizeof(LNode));s->data=e;p->next = s;p=s;scanf("%d",&e);}p->next=NULL;return L;
}void print(LinkList L)
{LinkList p;p=L->next;while (p){printf("%d ", p->data);p =p->next;}
}/* 请在这里填写答案 */

输入样例:

1 2 3 4 5 6 -1 100

输出样例:

1 2 3 4 5 6
1 2 3 4 5 6 100
void insert ( LinkList L,ElemType e)
{LinkList p,q;q = (LinkList)malloc(sizeof(LNode));q->data = e;q->next = NULL;p = L;while(p ->next!= NULL)p = p->next;p->next = q;
}

四、编程题

★7-1 找鞍点

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。

本题要求编写程序,求一个给定的n阶方阵的鞍点。

输入格式:

输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。

输入样例1:

4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9

输出样例1:

2 1

输入样例2:

2
1 7
4 1

输出样例2:

NONE
#include <stdio.h>
int main()
{int i,j,k,n,a[100][100];scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++)for(j=0;j<n;j++){   int max=a[i][j],min=a[i][j];for(k=0;k<n;k++){if(max<a[i][k]) max=a[i][k];if(min>a[k][j]) min=a[k][j];}if(max==a[i][j]&&min==a[i][j]){printf("%d %d",i,j);return 0;}}printf("NONE");
}

7-2 找出总分最高的学生 - 结构体

给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。

输入格式:

输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。

输出格式:

在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。

输入样例:

5
00001 huanglan 78 83 75
00002 wanghai 76 80 77
00003 shenqiang 87 83 76
10001 zhangfeng 92 88 78
21987 zhangmeng 80 82 75

输出样例:

zhangfeng 10001 258
#include <stdio.h>struct student
{char sn[10];char name[20];int s1,s2,s3;int sum;
};int main()
{struct student stu[100];int N,i;scanf("%d",&N);for(i=0;i<N;i++){stu[i].sum=0;scanf("%s %s %d %d %d",&stu[i].sn,&stu[i].name,&stu[i].s1,&stu[i].s2,&stu[i].s3);stu[i].sum = stu[i].s1+stu[i].s2+stu[i].s3;}int max=stu[0].sum;int k=0;for(i=1;i<N;i++){if(max<stu[i].sum){   max=stu[i].sum;k=i;}}printf("%s %s %d",stu[k].name,stu[k].sn,stu[k].sum);
}

7-3 求数列之和[A]

给定一个数字A (1⩽A⩽9)以及一个非负整数N (0⩽N⩽15),编程计算sum=A+AA+AAA+⋯+AA⋯A(N个A), 例如当A=2,N=3时,S=2+22+222=246。

输入格式:

在一行内输入数字A与非负整数N。数与数之间用空格间隔。

输出格式:

按照S = xxx的格式输出其N项之和S的值。

输入样例:

2  3

输出样例:

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

S = 246
#include <stdio.h>
#include <math.h>int main()
{int N,A;double sum=0,S=0;scanf("%d %d",&A,&N);for(int i=0;i<N;i++){sum+=A*pow(10,i);S+=sum;}printf("S = %.0f",S);}

【PTA】20 - 分流考试真题(已完结)相关推荐

  1. 【2023年最新版考试真题分享】 Apsara Clouder云计算专项技能认证:云服务器ECS入门【已通过】

    [2023年最新版考试真题分享] Apsara Clouder云计算专项技能认证:云服务器ECS入门[已通过] 考试入口:https://edu.aliyun.com/certification/cl ...

  2. 2009年出现的计算机术语,2009年计算机一级考试真题及答案

    2009年计算机一级考试真题及答案 一.选择题 1.在计算机领域中通常用MIPS来描述______. A.计算机的运算速度 B.计算机的可靠性 C.计算机的可运行性 D.计算机的可扩充性 2.微型计算 ...

  3. c语言省二历年真题讲解安徽,安徽省计算机等级二考试真题C语言年12月.doc

    安徽省计算机等级二考试真题C语言年12月 机密☆启用前 二〇一三年下半年全国高等学校(安徽考区) 计算机水平考试试卷 (二级 C语言程序设计) 考生须知: 1.请将准考证号末两位填在试卷第2页右上方的 ...

  4. 安徽省2012年下半年计算机水平考试(二级 c语言程序设计),安徽省计算机等级级考试真题C语言2012年12月.doc...

    安徽省计算机等级级考试真题C语言2012年12月,安徽省c语言二级考试,安徽省公务员考试真题,安徽省遴选考试真题,计算机等级二级c语言,c语言二级考试真题,江苏省计算机等级真题,安徽省二级c语言,计算 ...

  5. 计算机二级ms真题及答案网盘,全国计算机二级MS Office考试真题及答案

    计算机二级考试是全国计算机等级考试四个等级中的一个等级,下面小编整理了计全国计算机二级MS Office考试真题及答案,大家快来检测吧! 选择题 1.下列叙述中错误的是(). A.对于各种特定的输入, ...

  6. 全国计算机等级考试office无纸化考试,全国计算机等级考试真题汇编与专用题库 二级MS Office高级应用 2016年无纸化考试专用...

    <全国计算机等级考试真题汇编与专用题库--二级MS Office高级应用>是依据教育部考试中心颁布的<全国计算机等级考试大纲>及无纸化真考题库编写而成的.<全国计算机等级 ...

  7. 陕师大民教育计算机试题,陕师大计算机研究生考试真题2010年试题.doc

    陕师大计算机研究生考试真题2010年试题 ?注意事项: 1.? 请将答案直接做到答题纸上,做在试题纸上无效. 除答题纸上规定的位置外,不得在卷面上出现姓名.准考证号或其它标志,否则按违纪处理. 本试题 ...

  8. Apsara Clouder云计算专项技能认证:云服务器ECS入门[考试真题分享]

    Apsara Clouder云计算专项技能认证:云服务器ECS入门[认证考试真题分享](答案仅供参考) 单选13道题 1.下列哪一个不是重置ECS密码的步骤? A.查看实例详情 B.进入控制台 C.远 ...

  9. html测试题英语,北大PKU-GATE考试真题-题库

    原标题:北大PKU-GATE考试真题-题库 一.关于报名 1.报名时间 2019年北京大学博士招考报名即将开始,今年研究生院并没有规定统一的网上报名时间,而是让各个学院自行设定.绝大部分学院开始报名的 ...

最新文章

  1. 算法回顾(三) 二分查找
  2. 记一次Socket.IO长链服务的性能压测
  3. roobo机器人怎么唱歌_日本“观音”机器人问世,可以陪僧人念佛经
  4. 数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
  5. Angular ngTemplateOutlet 元素的学习笔记
  6. C语言 memset函数简单实现
  7. 《神经网络与深度学习》最新版!
  8. BZOJ2460: [BeiJing2011]元素(线性基+贪心)
  9. safari浏览器中的菜单栏中,显示[开发]按钮
  10. Windows Server 2012安装vc++组件失败
  11. JavaWEB开发国际化
  12. TLS回调函数以及反调试简单使用
  13. Java实现多元t分布函数(Multivariate t distributions)
  14. 五大主流浏览器内核的源起以及国内各大浏览器内核总结
  15. 2021年最好用&完全免费的图片压缩网站、软件推荐(包括GIF)
  16. 贪吃蛇java游戏代码_java实现贪吃蛇游戏代码(附完整源码)
  17. 《自然》:深度学习超分辨显微成像方法
  18. R语言ggplot2可视化格式化轴标签:用逗号格式化ggplot2轴标签、在轴标签数值中加入符号标签(货币符号)
  19. Egret之Eui.Button换肤
  20. 第一章:python入门储备知识

热门文章

  1. 2023 年上海市职业院校技能大赛高职组“信息安全管理与评估”赛项样题
  2. 手机号空号批量检测接口
  3. mysql zimbra_记一次zimbra服务器故障导致mysql起不来问题
  4. 新华三H3CMagic系列路由器获取不到IPV6地址解决方法
  5. ARM+FPGA运动控制卡 运动控制卡方案 运动控制卡方案 运动控制卡
  6. R 语言多模型QQ plot
  7. SQL Compare教程:工作示例——比较和部署两个数据库(下)
  8. mac 下配置安装rz,sz
  9. 高中数学必修二平面解析几何之两直线的位置关系(归纳与整理)
  10. 物联网跑太快 通用标准却跟不上