《高级语言程序设计》模拟试题

发布 2021-04-24 16:00:28 阅读 7883

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。

如:输入36和60,输出为:zdgys=12,zxgbs=180

2. 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。

3. 用递归调用的方法求n!。

如:输入为5,输出为5!=120。

4. 按以下递归公式求函数的值。

例如,当给n输入5时,输出为result is 18,(要求用递归实现,并且输入和输出都要在主函数中实现)。

5. 用递归法将一个整数n转换成字符串。(n为不超过6为的整数)如输入为483,输出为:

转换后的字符串为:483;如输入为-13579,输出为:转换后的字符串为:

-13579。

注意:输入和输出都要在主函数中实现。

6. 写一个函数,完成将任意一个数组中的值按逆序重新存放。(数组长度不超过6位)

要求:数组内容的输入和重新存放后的输出都要在主函数中实现。

如:输入内容为5个整数,分别为8 6 5 4 1,重新存放后输出为:the result is 1,4,5,6,8。

7. 编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。

要求:输入和输出都要在主函数中实现。

如:输入第一个数组内容为:1 2 3 4 5,第二个数组内容为:2 4 6 8 10 12 14 16 18 20,输出分别为3和11。

8. 编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。(两个字符串长度之和不超过100)

如:输入第一个字符串为i love,第二个字符串为:my motherland,则输出为i love my motherland。

9. 编写完成fun函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。

要求:输入和输出都要在主函数中实现。

如:根据输入不同输入内容,对应输出“两个字符串相等”、“第一个字符串大”、“第二个字符串大”。

#include<>

#include <>

int fun(char a,char b)

int main()

char a[100],b[100],i;

gets(a);

gets(b);

i=fun(a,b);

switch(i)

return 0;

10. 编写一个函数,实现在一个升序排列的整型数组;中插入任意一个整数的功能,保持整型数组仍然升序排列, 并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。

#include<>

int a[11]=;

int main()

int c,i;

void fun(int a,int c);

printf("input an integer:")

scanf("%d",&c);

fun(a,c);

for(i=0;i<11;i++)

printf("%d ",a[i]);

printf("");

return 0;

void fun(int a,int t)

11. 编写一个判断素数的函数,在主函数输入一个整数,是素数时输出yes,否则输出no,结果要求在主函数中输出。

12. 编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。

13. 建立动态数组,输入5个学生的成绩,统计低于60分的学生成绩的个数,要求输入和输出功能在主函数中完成。

14. 有一个一维数组score,内放10个学生成绩,编写完成**e函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。

#include<>

int main()

void **e(int a[10]);

int a[10],i;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

**e(a);

return 0;

void **e(int a[10])

15. 编程实现:编写完成retu函数,实现统计第二个字符串在第一个字符串**现的次数,在主函数中调用统计函数并输出结果。

如:第一个字符串为sdjfzhyishgzhyzhyiswzxmt,第二个字符串为zhy,输出结果为:3

#include<>

#include<>

int main()

int retu(char a,char b)

char c[200],d[100];

gets(c);

gets(d);

printf("出现的次数为:%d",retu(c,d));

return 0;

int retu(char a,char b)

16. 编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:

输入“i am a student!”,输出“iamastudent!”,要求用指针实现。

17. 用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。

18. 用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。

19. 编写一个函数实现字符串复制功能,不能使用strcpy函数,并在main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。(要求用指针作为函数参数)

20. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。(要求用指针实现)

21. 输入一个字符串,内有数字和非数字字符,例如:“a123x456 17960?

302tab5876”,将其中连续的数字作为一个整数,依次存在到一数组a中。例#如,123放在a[0],456放在a[1]……统计共有多少个整数,并输出这些数。(要求用指针实现)

如:输入a123x456 17960? 302tab5876,输出为共有5个整数,分别为123,456,17960,302,5876。

22. 有一篇文章,共有4行文章,每行有10个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。(要求用指针实现)

23. 编程实现从键盘输入任意十个字符串,找出并显示最长的那个字符串。(要求用指针知识实现)

24. 编写完成fun函数实现如下功能:从键盘输入任意一个正整数,求出它的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回。

(自定义函数void fun (int x, int * pp, int *n) )

#include<>

int main()

void fun (int x,int *pp, int *n);

int x, a[100],*pp=a,n;

scanf("%d",&x);

fun(x,pp,&n);

return 0;

void fun (int x,int *pp, int *n)

25. 编写一个函数,实现求出一个二维数组中的鞍点,并在main函数中调用此函数,二维数组中数据输入和鞍点数据输出都在主函数中实现。(鞍点是指某个数在该行上最大,同时在该列上最小)

26. 输入3个学生4门课的成绩,分别用**er_stu和**er_cour函数实现如下功能:

(1) 计算每个学生平均分;

2) 计算每门课的平均分;

#include<>

int score[3][4];

int a_stu[3],a_cour[4];

int r,c;

int main()

int i,j;

void **er_stu();

void **er_cour();

printf("no. cour1 cour2 cour3 cour4");

for(i=0;i<3;i++)

**er_stu();

**er_cour();

return 0;

void **er_stu() 计算并输出每个学生的平均成绩。

void **er_cour() 计算4门课程平均成绩的函数。

27. 编写完成fun函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数。

#include<>

char b[50];

int main()

char a[50];

void fun(char a)

gets(a);

fun(a);

return 0;

void fun(char a)

28. 有3个学生,各学4门课程,输出总平均分数以及第n个学生的所有成绩。(要求定义两个函数分别实现上述功能,用指针作为函数参数)

#include<>

int main()

void **erage(int *)

void fun_n(int (*n)[4]);

int score[3][4]=,

**erage(*score);

fun_n(score);

return 0;

void **erage(int *p)

void fun_n(int (*n)[4])

29. 有3个学生,每个学生有4门课程的成绩,要求在用户输入学生学号以后,能输出该学生的全部成绩。(用指针函数知识实现)

30. 定义一个结构体变量(包括年、月、日)。计算当天是本年中的第几天,注意闰年问题。

如输入1979 4 4,输出第94天,输入2000 4 4,输出第95天。

31. 设计候选人得票统计程序,要求有4个侯选人(分别是zhang 、wang 、li、 zhao),选民(10名选民参与投票)每次输入一个被选人的姓名,最后统计出各人的得票结果。

高级语言程序设计模拟试题

试题6一 单项选择题 本题共10小题,每小题2分,满分20分 1.下列运算符中,结合方向为 自右至左 的是 d a.算术运算符 b.左移运算符 c.赋值运算符 d.关系运算符 2.用以下语句从键盘接收两个整型值并赋值给整型变量a,b scanf d,d a,b 则以下输入正确的是 b a.5,6 回...

高级语言程序设计模拟试题

试题4一 单项选择题。本题共10小题,每小题2分,满分20分。1 下列运算符中优先级最低的是a a b c d 2 对for 表达式1 表达式3 可理解为b a for 表达式1 0表达式3b for 表达式1 1 表达式3 c for 表达式1 表达式1 表达式3 d for 表达式1 表达式3 ...

高级语言程序设计模拟试题

试题1一 选择题 本题共 10 小题,满分 20 分。1 以下选项中不能作为c语言合法常量的是a a cd b 0.1e 6 c a d 011 2 以下不能正确表示代数式2ab cd的c语言表达式是d a 2 a b c d b a b c d 2 c a c d b 2 d 2 a b c d ...