习题五--数组

合集下载

第5章《数组》复习题

第5章《数组》复习题

第5章数组一、选择题1、下列关于数组的描述正确是:()A) 数组的长度是固定的,而其中元素的数据类型可以不同B) 数组的长度是固定的,而其中元素的数据类型必须相同C) 数组的长度是可变的,而其中元素的数据类型可以不同D) 数组的长度是可变的,而其中元素的数据类型必须相同2、在C++语言中引用数组元素时,下面关于数组下标数据类型的说法错误的是:()A) 整型常量 B) 整型表达式C) 整型常量或整型表达式 D) 任何类型的表达式3、要定义数组A,使得其中每个元素的数据分别依次为:3、9、4、8、0、0、0,错误的定义语句是:()A) int A[]={3,9,4,8,0,0,0}; B) int A[9]={3,9,4,8,0,0,0};C) int A[]={3,9,4,8}; D) int A[8]={3,9,4,8};4、有如下数组声明:int value[30];,下标值引用错误的是:()A) value[30] B) value[0] C) value[10] D) value[20]5、以下叙述中错误的是:()A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统自动扩展数组长度D)可以通过赋初值的方式确定数组元素的个数6、在C++语言中,一维数组的定义方法为:()。

类型说明符数组名A)[常量表达式] B)[整型常量] C)[整型变量] D)[整型常量]或[整型表达式]7、对以下说明语句的正确理解是()。

int a[10]={6,7,8,9,10};A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以此语句不正确8、假定short类型变量占用两个字节,其有定义:short x[10]={0,2,4};,则数组x在内存中所占字节数是()。

C语言 数组和指针练习题

C语言  数组和指针练习题

若当堂没做完,下周四之前上交也可。

至ftp://211.64.82.253/用户名和密码:stuC语言程序设计练习题——数组一、选择题77、以下对一维数组a的正确说明是_d ___A、char a(10);B、int a[ ];C、int k=5,a[k];D、char a[ ]={'a' , 'b' , 'c'};78、若有说明语句:int a[2][4];,则对a数组元素的正确引用是_a___A、a[0][3]B、a[0][4]C、a[2][2]D、a[2][2+1]79、以下能对二维数组y进行初始化的语句是_b__A、static int y[2][ ]={{1,0,1}, {5,2,3}};B、static int y[ ][3]={{1,2,3}, {4,5,6}};C、static int y[2][4]={{1,2,3}, {4,5} , {6}};D、static int y[ ][3]={{1,0,1,0}, { }, {1,1}};80、若有说明语句:int y[ ][4]={0,0};则下面叙述不正确的是_d___A、数组y的每个元素都可得初值0B、二维数组y的行数为1C、该说明等价于int y[ ][4]={0};D、只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值081、以下各组选项中,均能正确定义二维实型数组s的选项是_c___A、float s[3][4];B、float s(3,4);float s[ ][4]; float s[ ][ ]={{0};{0}};float s[3][ ]={{1},{0}}; float s[3][4];C、 float s[3][4];D、float s[3][4];static float s[ ][4]={{0},{0}}; float s[3][ ];auto float s[ ][4]={{0},{0},{0}}; float s[ ][4];82、若有说明语句:int a[ ][3]={1,2,3,4,5,6,7,8}; ,则a数组的行数为__a__A、3B、2C、无确定值D、183、若二维数组y有m列,则在y[i][j]前的元素个数为_B___A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+184、下面程序中有错误的行是____1、 main( )2、 {3、 int x[3]={1};4、 int k;5、 scanf("%d", &x);6、 for (k=1; k<3; k++)7、 x[0]=x[0]+x[i];8、 printf("x[0]=%d\n", x[0]);9、 }A、3B、6C、7D、585、若有以下语句,则正确的描述是__b__char x[ ]="12345";char y[ ]={'1', '2', '3', '4', '5'};A、x数组与y数组的长度相同B、x数组长度大于y数组长度C、x数组长度小于y数组长度D、x数组等价于y数组86、以下不正确的数组定义语句是__b__A、double x[5]={2.0, 4.0, 6.0, 8.0, 10.0};B、int y[5]={0, 1, 3, 5, 7, 9};C、char ch1[ ]={'1', '2', '3', '4', '5'};D、char ch2[ ]={'\x10', '\xa', '\x8'};87、以下正确的数组定义语句是_c___A、char a[5]={'1', '2', '3', '4', '5', '\0'};B、int b[2][ ]={{1}, {2}};C、float c[ ][3]={1, 2, 3, 4, 5};D、char d[5]="CHINA";88、判断字符串str1是否大于字符串str2,应当使用__d__A、if (str1>str2)B、if (strcmp(str1, str2))C、if (strcmp(str2, str1)>0)D、if (strcmp(str1, str2)>0)89、下面程序段的运行结果是_c___char x[5]={'a', 'b', '\0', 'c', '\0'};printf("%s", x);A、'a''b'B、abC、ab└┘cD、abc90、有两个字符数组a,b,则以下能正确为a,b进行赋值的语句是_d___A、gets(a, b);B、scanf("%s%s", &a, &b);C、getchar(a); getchar(b);D、gets(a); gets(b);91、有字符数组s1[80]和s2[80],则以下能正确对s1, s2进行输出的语句是___b_A、puts(s1, s2)B、printf("%s, %s", s1, s2);C、putchar(s1, s2);D、puts(s1), puts(s2);92、以下程序段的运行结果是_c___char a[7]="abcdef";char b[4]="ABC";strcpy(a, b);printf("%c", a[5]);A、└┘B、\0C、eD、f93、以下描述正确的是_d___A、两个字符串所包含的字符个数相同时,才能比较字符串B、字符个数多的字符串比字符个数少的字符串大C、字符串"STOP└┘"与"STOP"相等D、字符串"That"小于字符串"The"94、以下对字符数组的描述中错误的是_c___A、字符数组中可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D、不可以用关系运算符对字符数组中的字符串进行比较95、若有语句:char s1[10], s2[10]={"books"},则能将字符串books赋给数组s1的正确语句是_b___A、s1={"books"};B、strcpy(s1, s2);C、s1=s2;D、strcpy(s2, s1);96、以下printf语句的输出结果是____printf("%d\n", strlen("school");A、7B、6C、存在语法错误D、不定值97、下面程序的功能是将字符串s中所有的字符c删除。

C语言程序设计习题5

C语言程序设计习题5

习题5参考解答1.数组是相同数据类型的集合,分为一维数组、二维数组及多维数组。

在什么情况下使用数组?在什么情况下使用一维数组?解:当需要处理的数据为相同类型的数据的集合时,可以使用数组。

如果这些数据的描述用一个量就可以,这时就用一维数组。

例如,一组学生的学号,就可以使用一维数组。

2.数组元素又称为下标变量,数组元素的下标有何意义?解:下标的意义是对数组的各个数组元素进行标识和区分。

由数组名和下标结合起来形成数组元素的名字。

3.使用字符数组来存储字符串应注意什么问题?解:需要注意的问题是字符数组在存储字符串时是以'\0'作为结束标记的。

这个'\0'是系统自动加上的。

所以字符数组的长度需要比它要存储的字符串的长度至少多1。

例如,要存储字符串"abcd",因为它的长度为4,所以存储它的字符数组的长度至少为5。

4.常用的字符处理函数有哪些?解:常用的字符处理函数有以下8个。

(1)puts(字符串):作用为将一个字符串输出到终端。

(2)gets(字符数组):作用为从终端输入一个字符串到字符数组,并且得一个函数值。

(3)strcat(字符串1,字符串2):作用为进行字符串的连接。

(4)strcpy(字符串1,字符串2):作用为进行字符串的复制。

(5)strcmp(字符串1,字符串2):作用为进行字符串的比较。

(6)strlen(字符串):作用为求字符串的长度。

(7)strlwr(字符串):作用为将字符串中的大写字母转换成小写字母。

(8)strupr(字符串):作用为将字符串中的小写字母转换成大写字母。

5.随机产生10个两位整数存储到一个一维数组中,找出其中的最大数。

解:#include<stdio.h>#include<stdlib.h>#define random(x) (rand()%x) int main(){int a[10],max;int x;for(x=0;x<10;x++)a[x]=random(100);max=a[0];for(x=0;x<10;x++){if(a[x]>max)max=a[x];printf("%4d",a[x]);}printf("\nmax=%d\n",max);return 0;}程序运行结果如下:41 67 34 0 69 24 78 58 62 64 max=786.输入10个整数,要求按照从小到大的顺序输出。

数据结构期末复习题

数据结构期末复习题

数据结构期末复习题习题⼀绪论习题答案1.1 1. AB2. BD3. C4. AB5. CA6. CB7. B8. D9. B 10. B1.2 1. 线性结构、树形结构、图形结构、⾮线性结构2. 没有、1、没有、13. 前驱、1、后续、任意多个4. 任意多个5. ⼀对⼀、⼀对多、多对多6. 有穷性、确定性、可⾏性、输⼊、输出7. O(m*n)8. O (n 1 2)9. O (n2)10. log3n1.1 单项选择题1. 数据结构是⼀门研究⾮数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。

①A.操作对象B.计算⽅法C.逻辑存储D.数据映象②A.结构B.关系C.运算D.算法2. 数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。

①A.算法B.数据元素C.数据操作D.逻辑结构②A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成①。

A.动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构4. 线性表的顺序存储结构是⼀种①的存储结构,线性表的链式存储结构是⼀种②的存储结构。

A.随机存取B.顺序存取C.索引存取D.散列存取5. 算法分析的⽬的是①,算法分析的两个主要⽅⾯是②。

① A. 找出数据结构的合理性 B. 研究算法中的输⼊和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和⽂档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和⽂档性D. 数据复杂性和程序复杂性6. 计算机算法指的是①,它必具备输⼊、输出和②等五个特性。

①A. 计算⽅法 B. 排序⽅法C. 解决问题的有限运算序列D. 调度⽅法②A. 可⾏性、可移植性和可扩充性 B. 可⾏性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性7. 线性表的逻辑顺序与存储顺序总是⼀致的,这种说法①。

数组练习题及答案

数组练习题及答案

第五章数组练习题及答案一、选择题1、判断字符串a和b是否相等,应当使用()A、if(a==b)B、if(a=b)C、if(strcpy(a,b))D、if(strcmp(a,b))2、以下正确的定义语句是()A、int a[1][4]={1,2,3,4,5};B、float x[3][]={{1},{2},{3}};C、long b[2][3]={{1},{1,2},{1,2,3}};D、double y[][3]={0};3、以下各组选项中,均能正确定义二维实型数组a的选项是()A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}};B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}};C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}};D、float a[3][4]; float a[3][ ]; float a[ ][4];4、下面程序的运行结果是()1—5 DDCBA 6—10 BDABB 11—15 CCCBC 16—20 DDCBB 21—25 BBAAA 26—30 DBDDB#include "stdio.h"main(){ char str[]="SSSWLIA",c;int k;for(k=2;(c=str[k]!='\0');k++){ switch(c){case 'I':++k;break;case 'L':continue;default:putchar(c);continue;}putchar('*');}}A、SSW*B、SW*C、SW*AD、SW5、下面程序段是输出两个字符串中对应相等的字符。

习题五--数组

习题五--数组

习题五--数组⼀、A类程序设计题1、求⼀个4x4矩阵对⾓线元素之和。

2、⽤数组的⽅法求Fibonacci数列的值(要求输出前20个数)。

3、将⼀个3x4矩阵转置(⾏列互换)存放。

4、将⼀个数组中的数按逆序存放,例如原来的顺序为8,7,6,4,2,要求改为2,4,6,7,8。

5、⽤选择法对10个整数进⾏降序排序。

6、⽤冒泡法对10个整数进⾏升序排序。

7、编写⼀个简单程序,要求:(1)从键盘上输⼊8个整数放⼊数组a[8]中(⽤for循环实现);(2)求出数组元素的最⼤值及数组的平均值。

8、求3×4矩阵中每⼀列元素的最⼤值并输出。

9、求4×4矩阵中每⼀⾏元素的最⼩值并输出。

10、某班有30个学⽣,进⾏了数学考试,编写程序将考试成绩输⼊⼀维数组,并求数学的平均成绩及不及格学⽣的⼈数。

11、有⼀个3x4矩阵,求出最⼤元素,以及其所在的⾏号和列号。

12、从键盘上输⼊10个实数,然后按输⼊顺序的逆序输出这10个数。

13、从键盘输⼊10个整数,找出其中最⼤值和最⼩值。

14、输⼊10个学⽣的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。

15、输⼊字符串 s,统计出 s 中共出现了多少个数字字符。

⼆、B类程序设计题1、对⼀个已按由⼩到⼤排好顺序的整型数组,若从键盘输⼊⼀个数x,现要查询该数是否在此整型数组中,若存在则删除该数,否则显⽰“不存在”信息。

2、对⼀个已按由⼩到⼤排好顺序的整型数组,若从键盘输⼊⼀个数x,现要将该数插⼊到该数组中,使其插⼊后整个数组排序规律不变。

3、编写⼀程序,要求从键盘上输⼊10个整数放⼊⼀个数组中(⽤for循环实现),并编写求最⼤值的函数max,在主程序调⽤这个函数实现输出数组中10个整数的最⼤值,要求⽤数组名作为函数参数。

4、输⼊⼀个4⾏4列的⼆维数组,编程实现:(1) 求出其中的最⼤值和最⼩值及其对应的⾏列位置;(2) 求出对⾓线上各元素之和。

5、⽤筛选法求100之内的素数。

数据结构第五章数组习题

数据结构第五章数组习题

第五章数组习题1、假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。

A、808B、818C、1010D、10202、数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。

A、1175B、1180C、1205D、12103、若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定a ij(i<j)的位置k的关系为( )。

A、i*(i-1)/2+jB、j*(j-1)/2+iC、i*(i+1)/2+jD、j*(j+1)/2+i4、对稀疏矩阵进行压缩存储目的是()。

A、便于进行矩阵运算B、便于输入和输出C、节省存储空间D、降低运算的时间复杂度5、已知广义表L=((x,y,z), a, (u,t,w)),从L表中取出原子项t的运算是()。

A、head(tail(tail(L)))B、tail(head(head(tail(L))))C、head(tail(head(tail(L))))D、head(tail(head(tail(tail(L)))))6、已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是( )。

A、head(tail(LS))B、tail(head(LS))C、head(tail(head(tail(LS)))D、head(tail(tail(head(LS))))7、多维数组之所以有行优先顺序和列优先顺序两种存储方式是因为()。

A、数组的元素处在行和列两个关系中B、数组的元素必须从左到右顺序排列C、数组的元素之间存在次序关系D、数组是多维结构,内存是一维结构8、二维数组M[0..7,0..9]的元素是由4个字符组成的串(每个字符占用1个存储单元),存放M需要存储单元数为()。

实验五 数组实验

实验五  数组实验

实验五数组的使用一实验目的要求1 掌握数组的概念和使用方法。

2 掌握数组初始化的方法。

3学会字符数组和字符串的应用。

4 学会用数组名作函数的参数。

二有关概念1 只有静态数组和外部数组才能初始化。

2 引用数组时,对下标是否越界不作检查。

如定义int a[5];在引用时出现a[5],不给出错信息,而是引a[4]下面一个单元的值。

3 字符串放在字符数组中,一个字符串以‘/o’结束,有一些字符串函数如strcpy,strcmp,strlen等可以方便一进行字符串运算。

4 如有如下定义:char *str=“I love china”;表示 str是一个字符型指针变量,它的值是一个字符数据的地址。

不要认为str是字符串变量,在其中存放一个字串“I love china”。

5 用数组名作函数实参时,传到形参的是数组的首地址。

三实验内容和步骤1 定义三个数组int a[5];int b[2][2];char c[10];(1)分别在函数体外和函数体内对它们进行初始化,然后输出它们的值。

(2)在程序中再加一语句,输出a[5],b[2][2] ,分析结果。

(3)对C数组改为用赋值语句给各元素赋初值:c[0] ~ c[9]各元素分别为:…I‟, …‟, …a‟, …m‟, …‟, …b‟, …o‟, …y‟。

然后用printf(“%s”,c)输出字符串,分析结果。

参考程序如下:(1)main(){ int i,x,y;static int a[5]={1,2,3,4,5};static int b[3][2]={{3,4},{6,7},{9,5}}static char c[10]={ …i‟, …l‟, …p‟, …q‟, …k‟, …s‟, …d‟, …e‟, …a‟};for(i=0;i<5;i++)printf( “%5d”,a[i]);for(x=0;x<3;x++)for(y=0;y<2;y++)printf(“%5d”,b[x][y]);for(i=0;i<10;i++)printf(“%3c”,c[i]);}(2)结果无此值,在上面程序中要输出a数组第5个元素,和b数组的第3行第2例元素,应加此程序行:Printf(“%d”,a[4]);Printf(“%d”,b[2][1]);2 有一数组,内放10个整数,要求找出最小的数和它的下标。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、A类程序设计题1、求一个4x4矩阵对角线元素之和。

2、用数组的方法求Fibonacci数列的值(要求输出前20个数)。

3、将一个3x4矩阵转置(行列互换)存放。

4、将一个数组中的数按逆序存放,例如原来的顺序为8,7,6,4,2,要求改为2,4,6,7,8。

5、用选择法对10个整数进行降序排序。

6、用冒泡法对10个整数进行升序排序。

7、编写一个简单程序,要求:(1)从键盘上输入8个整数放入数组a[8]中(用for循环实现);(2)求出数组元素的最大值及数组的平均值。

8、求3×4矩阵中每一列元素的最大值并输出。

9、求4×4矩阵中每一行元素的最小值并输出。

10、某班有30个学生,进行了数学考试,编写程序将考试成绩输入一维数组,并求数学的平均成绩及不及格学生的人数。

11、有一个3x4矩阵,求出最大元素,以及其所在的行号和列号。

12、从键盘上输入10个实数,然后按输入顺序的逆序输出这10个数。

13、从键盘输入10个整数,找出其中最大值和最小值。

14、输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。

15、输入字符串 s,统计出 s 中共出现了多少个数字字符。

二、B类程序设计题1、对一个已按由小到大排好顺序的整型数组,若从键盘输入一个数x,现要查询该数是否在此整型数组中,若存在则删除该数,否则显示“不存在”信息。

2、对一个已按由小到大排好顺序的整型数组,若从键盘输入一个数x,现要将该数插入到该数组中,使其插入后整个数组排序规律不变。

3、编写一程序,要求从键盘上输入10个整数放入一个数组中(用for循环实现),并编写求最大值的函数max,在主程序调用这个函数实现输出数组中10个整数的最大值,要求用数组名作为函数参数。

4、输入一个4行4列的二维数组,编程实现:(1) 求出其中的最大值和最小值及其对应的行列位置;(2) 求出对角线上各元素之和。

5、用筛选法求100之内的素数。

6、对一个整形数组进行由小到大排序。

要求:用函数调用实现排序过程。

7、将一个数组中的元素按逆序存放。

要求:用函数调用实现。

8、编写一个strlen函数,它能对一个字符串测出其长度,函数返回值就是字符串的长度(说明:长度不包括字符串结束标志’\0’)。

9、设有5 行5 列的数组b,其元素b[i][j]=2*i+3*j-8(i、j = 0,1,2,3,4)。

编写程序实现:(1)求第4 行的5 个元素之累加和。

(2)求第5 列的5 个元素之平均值。

(3)求主对角线(“\”状对角线)以及反斜对角线(“/”状对角线)上各有多少个负数。

、10、不用strcat函数,将两个字符串连接起来。

11、打印出以下的杨辉三角形(要求打印出10行)。

11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 112、对于一个二维数组,分别求各行、各列及所有元素之和。

13、有一行电文,已按如下规律译成密码:第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母……非字母字符不变。

要求将密码译回原文,并打印出密码和原文。

14、有一篇文章,共有3行文字,每行有80个字符。

要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

15、输入n个字符串,把其中以字母A打头的字符串输出。

16、编写一个程序,将字符数组S2中的全部字符拷贝到字符数组S1中。

不用strcpy函数。

拷贝时,‘\0’也要拷贝过去,‘\0’后面的字符不拷贝。

17、按照如下方式从头到尾逐字符地对输入字符串 is 进行处理,以生成输出字符串 os 并作为结果输出:(1)若 is的当前字符不是数字字符,则将该字符复制到结果串 os 中;(2)若is的当前字符是一个数字字符,且假设其大小值为 n,则将该数字字符替换为n+1 个相关字母存放到结果串 os 中:字符 0 替换为 1 个 a,字符 1 替换为 2 个 b,字符 2 替换为 3 个c,...,字符9替换为 10 个j。

例如:当输入字符串为“s1k02”时,输出字符串应为“sbbkaccc”;输入的 is 为“abc5uf20t”时,输出字符串 os 应为“abcffffffufcccat”。

18、假设对整型数组 a、b、t 已按下述方式进行了说明并对 a 赋了初值:int a[8]={2, 33, -6, 5, -82, 30, 99, 21}, b[8], t[8][8];编程序实现:(1)挑选 a中的某些数按如下顺序依次放入数组 b 中:先挑选所有负数放入 b;再挑选所有正数中是 3 的倍数的奇数放入 b;最后将 b 的其它元素(即尚未被赋予 a 元素值的那些元素)均置为 0。

(2)将 a 数组中的 8 个数依次赋给 t 数组的首列各元素(即:t[0][0]=a[0];t[1][0]=a[1];...),将 b 数组中的 8个数依次赋给 t 数组的末列(第 8 列)各元素,并将其它各列的 t[i][j]赋值为 i-j+3。

(3)在屏幕上输出 a、b、t 各数组元素的具体值。

19、将输入的 2进制数(一个非“0”即“1”的字符串)化为 10进制数并输出结果。

20、编写程序,在有序的数组中查找某数,若该数在此数组中,则输出它所在的位置,否则输出 no found。

21、定义一个含有30个元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每5个数求一个平均值,放在另一个数组中并输出。

22、在5行5列的二维数组中查找第一次出现的负数。

23、输入字符串s ,求s 中相邻字母对(比如ab )出现的次数。

24、定义数组 int a[4][6]、b[4][6]、 c[4][6],并完成以下操作:(1)从键盘上输入数据给数组a 、b 。

(2)将数组a 和数组b 各对应元素作比较,如果相等,则数组c 的对应元素为0;若前者大于后者,则数组c 的对应元素为1;若前者小于后者,则数组c 的对应元素为-1。

(3)输出数组c 各元素的值。

25、在电视歌手大奖赛时,有10个评委评分。

从键盘输入10个评委给某歌手的评分,要求找出10个评委中哪一个给了最低分,哪一个给了最高分。

去掉一个最低分并去掉一个最高分后剩下的八个评分的平均值为该歌手的最后得分,求该歌手的最后得分。

26、输入10个整数,判断它们是否为素数。

要求:编写一个函数int prime(int m)来判断形参变量m 是否为素数,如果是素数则返回1,否则返回0。

27、输入一段英文,将其格式化后输出。

格式化的要求是:(1) 每一个单词首字母大写,其余字母小写;(2) 所有标点符号(. , ! ?)均改为句号;(3) 非英文字母作为非法字母去除。

如输入:i am a 54stuDe#Nt12, right?则输出:I Am A Student. Right.28、有4个学生5门课程的成绩存放在数组score[4][5]中,编写两个函数分别求第m 个学生5门课程的平均成绩和第n 门课4个学生的平均成绩,主函数中只实现数据的输入和输出,其中m 和n 的值也在主函数中输入。

三、C 类程序设计题1、用冒泡排序法对输入的10个数进行降序排序并存入数组中。

然后输入一个数,查找该数是否在数组中存在,若存在,打印出该数在数组中对应的下标值。

2、输入一个4x5的二维数组,请编程实现如下转换。

原矩阵 转换后矩阵3、从键盘输入204、写一函数,使输入的一个字符串按逆序存放,要求在主函数中输入、输出字符串,函数中实现数据的逆序处理。

5、输入n 个字符串,要求按由小到大顺序输出。

6、采用函数的递归编程,实现求一个整型数组20个元素中的最大值 。

递归函数原型为:int max(int a[],int n)。

最后编制主函数,对max 函数进行调用,以验证其正确性。

7、从键盘输入两个字符串a 和b,要求不用库函数 strcat 把串b 的前五个字符连接到串a 中;如果b 的长度小于5,则把b 的所有元素都连接到a 中。

8、编程序,实现如下功能:(1)按如下方式说明数组x 与yconst int k=8;int x[k], y[k];(2)键盘输入k 个整数到数组x 中。

(3)计算x 中k 个数的平均值ave 及大于平均值的元素个数n 并输出。

(4)将数组x 中的k 个数放入数组y 中,但不重复放(一个数只放一次),而后输出y的这些有效元素。

例如,程序执行后的输入输出界面可设计为:x=? 23 55 -6 0 23 23 0 -12ave=13.25n=4y= 23 55 -6 0 -129、编写程序,实现str=str1+str2的操作,此处运算符“+”表示将二个字符串str1、str2连接成一个字符串str。

用键盘将二个字符串输入字符数组str1与str2中,连接后的字符串存放在字符数组str中,并输出连接后的字符串str。

(1)用C++提供的字符串处理函数完成上述要求。

(2)不用C++提供的字符串处理函数完成上述要求。

10、输入一行字符,统计其中有多少个单词。

11、输入3个字符串,找出其中最大者。

12、找出一个二维数组中的鞍点,即该位置的元素在该行上最大,在该列上最小(也可能没有鞍点)。

13、给出年、月、日,计算该日是该年的第几天。

14、有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中的第几个元素的值。

如果该数不在数组中,则打印出“无此数”。

15、输入一个字符串,把其中的字符按逆序输出。

如输入LIGHT,则输出THGIL。

(1)用字符数组方法;(2)用string方法。

16、编程序,输入正整数 m,它代表人民币的 m 元。

试求取这样一个方案,使用最少张数的人民币纸币(如 k 张),凑成上述的钱数 m,并输出求取结果。

注意,目前共有 7 种元以上面值的人民币纸币,其面值分别为:100,50,20,10,5,2,1。

程序执行后的输入输出交互界面可设计为:m=? 1921(100) 1(50) 2(20) 1(2) => k=517、编程序,输入任意一个十进正整数 N,而后将其转换为二进制整数后输出。

例如,程序执行后的显示结果为:Input positive N:8686_2=1010110。

相关文档
最新文档