《高级语言程序设计》模拟试题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
void ave(int a[10]);
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
ave(a);
return 0;
}
void ave(int a[10])
{
}
15.编程实现:编写完成retu函数,实现统计第二个字符串在第一个字符串中出现的次数,在主函数中调用统计函数并输出结果。
26.输入3个学生4门课的成绩,分别用aver_stu和aver_cour函数实现如下功能:
(1)计算每个学生平均分;
(2)计算每门课的平均分;
#include<stdio.h>
int score[3][4];
int a_stu[3],a_cour[4];
int r,c;
int main()
{
int i,j;
如输入1979 4 4,输出第94天,输入2000 4 4,输出第95天。
31.设计候选人得票统计程序,要求有4个侯选人(分别是Zhang、Wang、Li、Zhao),选民(10名选民参与投票)每次输入一个被选人的姓名,最后统计出各人的得票结果。
32.定义一个包括学号、姓名、成绩的学生结构体,要求实现输入3个学生信息的输入后,按照成绩的高低顺序输出各学生的信息。
return 0;
}
void average(int *p)
{
}
void fun_n(int (*n)[4])
{
}
29.有3个学生,每个学生有4门课程的成绩,要求在用户输入学生学号以后,能输出该学生的全部成绩。(用指针函数知识实现)
30.定义一个结构体变量(包括年、月、日)。计算当天是本年中的第几天,注意闰年问题。
13.建立动态数组,输入5个学生的成绩,统计低于60分的学生成绩的个数,要求输入和输出功能在主函数中完成。
14.有一个一维数组score,内放10个学生成绩,编写完成ave函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。
#include<stdio.h>
int main()
要求:输入和输出都要在主函数中实现。
如:输入第一个数组内容为:1 2 3 4 5,第二个数组内容为:2 4 6 8 10 12 14 16 18 20,输出分别为3和11。
8.编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。(两个字符串长度之和不超过100)
20.写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。(要求用指针实现)
21.输入一个字符串,内有数字和非数字字符,例如:“A123x456 17960? 302tab5876”,将其中连续的数字作为一个整数,依次存在到一数组a中。例如,123放在a[0],456放在a[1]……统计共有多少个整数,并输出这些数。(要求用指针实现)
{case 0:printf("第一个字符串大\n");break;
case 1:printf("第二个字符串大\n");break;
default:printf("两个字符串相等\n");
}
return 0;
}
10.编写一个函数,实现在一个升序排列的整型数组{1,3,5,7,14,23,45,87,155,231};中插入任意一个整数的功能,保持整型数组仍然升序排列,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。
33.有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求完成max函数和print函数,找到并输出平均成绩最高分的学生的信息(包括学号、姓名、3门课程成绩、平均分数)(用结构体知识)。
#include<stdio.h>
#define N 3
struct Student
{
int num;
char name[20];
float score[3];
float aver;
};
int main()
{
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
for(i=0;i<11;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void fun(int a[],int t)
{
}
11.编写一个判断素数的函数,在主函数输入一个整数,是素数时输出yes,否则输出no,结果要求在主函数中输出。
12.编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。
24.编写完成fun函数实现如下功能:从键盘输入任意一个正整数,求出它的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回。(自定义函数void fun(int x,int * pp,int *n))。
#include<stdio.h>
int main()
{
void fun (int x,int *pp, int *n);
void aver_stu();
void aver_cour();
printf("\nNO. cour1 cour2 cour3 cour4\n");
for(i=0;i<3;i++)
{
printf("No %d:",i+1);
for(j=0;j<4;j++)
scanf("%d",&score[i][j]);
如:第一个字符串为sdjfzhyishgzhyzhyiswzxmt,第二个字符串为zhy,输出结果为:3
#include<stdio.h>
#include<string.h>
int main()
{
int retu(char a[],char b[]);
char c[200],d[100];
gets(c);
#include<stdio.h>
#include <string.h>
int fun(char a[],char b[])
{
prinBiblioteka Baiduf("两个字符串相等”);
}
int main()
{
char a[100],b[100],i;
gets(a);
gets(b);
i=fun(a,b);
switch(i)
#include<stdio.h>
int main()
{
void average(int *);
void fun_n(int (*n)[4]);
int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};
average(*score);
fun_n(score);
例如,当给n输入5时,输出为result is18,(要求用递归实现,并且输入和输出都要在主函数中实现)。
5.用递归法将一个整数n转换成字符串。(n为不超过6为的整数)如输入为483,输出为:转换后的字符串为:483;如输入为-13579,输出为:转换后的字符串为:-13579。
注意:输入和输出都要在主函数中实现。
6.写一个函数,完成将任意一个数组中的值按逆序重新存放。(数组长度不超过6位)
要求:数组内容的输入和重新存放后的输出都要在主函数中实现。
如:输入内容为5个整数,分别为8 6 5 4 1,重新存放后输出为:theresult is1,4,5,6,8。
7.编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。
{
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
#include<stdio.h>
int a[11]={1,3,5,7,14,23,45,87,155,231};
int main()
{
int c,i;
void fun(int a[],int c);
printf("input an integer:");
scanf("%d",&c);
fun(a,c);
如:输入A123x45617960? 302tab5876,输出为共有5个整数,分别为123,456,17960,302,5876。
22.有一篇文章,共有4行文章,每行有10个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。(要求用指针实现)
23.编程实现从键盘输入任意十个字符串,找出并显示最长的那个字符串。(要求用指针知识实现)
}
}
struct Student max(struct Student stu[])
{
}
void print(struct Student stu)
{
}
34.学生记录由学号和成绩组成,N名学生的数据已经在主函数中放入结构体数组,编写完成fun函数,把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n返回,平均分通过函数值返回。
}
aver_stu();
aver_cour();
return 0;
}
void aver_stu()//计算并输出每个学生的平均成绩
{
}
void aver_cour() //计算4门课程平均成绩的函数
{
}
27.编写完成fun函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数。
#include<stdio.h>
如:输入第一个字符串为I love,第二个字符串为:my motherland,则输出为Ilovemy motherland。
9.编写完成fun函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。
要求:输入和输出都要在主函数中实现。
如:根据输入不同输入内容,对应输出“两个字符串相等”、“第一个字符串大”、“第二个字符串大”。
17.用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。
18.用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。
19.编写一个函数实现字符串复制功能,不能使用strcpy函数,并在main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。(要求用指针作为函数参数)
1.输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。
如:输入36和60,输出为:zdgys=12,zxgbs=180
2.输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。
3.用递归调用的方法求n!。
如:输入为5,输出为5!=120。
4.按以下递归公式求函数的值。
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函数中调用此函数,二维数组中数据输入和鞍点数据输出都在主函数中实现。(鞍点是指某个数在该行上最大,同时在该列上最小)
gets(d);
printf("出现的次数为:%d\n",retu(c,d));
return 0;
}
int retu(char a[],char b[])
{
}
16.编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:输入“I am a student!”,输出“Iamastudent!”,要求用指针实现。
struct Student stu[N],*p=stu;
input(p);
print(max(p));
return 0;
}
void input(struct Student stu[])
{
int i;
printf("请输入各个学生的信息:学号、姓名、三门课成绩:\n");
for(i=0;i<N;i++)
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个学生的所有成绩。(要求定义两个函数分别实现上述功能,用指针作为函数参数)
void ave(int a[10]);
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
ave(a);
return 0;
}
void ave(int a[10])
{
}
15.编程实现:编写完成retu函数,实现统计第二个字符串在第一个字符串中出现的次数,在主函数中调用统计函数并输出结果。
26.输入3个学生4门课的成绩,分别用aver_stu和aver_cour函数实现如下功能:
(1)计算每个学生平均分;
(2)计算每门课的平均分;
#include<stdio.h>
int score[3][4];
int a_stu[3],a_cour[4];
int r,c;
int main()
{
int i,j;
如输入1979 4 4,输出第94天,输入2000 4 4,输出第95天。
31.设计候选人得票统计程序,要求有4个侯选人(分别是Zhang、Wang、Li、Zhao),选民(10名选民参与投票)每次输入一个被选人的姓名,最后统计出各人的得票结果。
32.定义一个包括学号、姓名、成绩的学生结构体,要求实现输入3个学生信息的输入后,按照成绩的高低顺序输出各学生的信息。
return 0;
}
void average(int *p)
{
}
void fun_n(int (*n)[4])
{
}
29.有3个学生,每个学生有4门课程的成绩,要求在用户输入学生学号以后,能输出该学生的全部成绩。(用指针函数知识实现)
30.定义一个结构体变量(包括年、月、日)。计算当天是本年中的第几天,注意闰年问题。
13.建立动态数组,输入5个学生的成绩,统计低于60分的学生成绩的个数,要求输入和输出功能在主函数中完成。
14.有一个一维数组score,内放10个学生成绩,编写完成ave函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。
#include<stdio.h>
int main()
要求:输入和输出都要在主函数中实现。
如:输入第一个数组内容为:1 2 3 4 5,第二个数组内容为:2 4 6 8 10 12 14 16 18 20,输出分别为3和11。
8.编写一个函数,实现将两个字符串连接起来,并在main函数中调用此函数,不要调用系统提供的strcat函数。(两个字符串长度之和不超过100)
20.写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。(要求用指针实现)
21.输入一个字符串,内有数字和非数字字符,例如:“A123x456 17960? 302tab5876”,将其中连续的数字作为一个整数,依次存在到一数组a中。例如,123放在a[0],456放在a[1]……统计共有多少个整数,并输出这些数。(要求用指针实现)
{case 0:printf("第一个字符串大\n");break;
case 1:printf("第二个字符串大\n");break;
default:printf("两个字符串相等\n");
}
return 0;
}
10.编写一个函数,实现在一个升序排列的整型数组{1,3,5,7,14,23,45,87,155,231};中插入任意一个整数的功能,保持整型数组仍然升序排列,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。
33.有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求完成max函数和print函数,找到并输出平均成绩最高分的学生的信息(包括学号、姓名、3门课程成绩、平均分数)(用结构体知识)。
#include<stdio.h>
#define N 3
struct Student
{
int num;
char name[20];
float score[3];
float aver;
};
int main()
{
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
for(i=0;i<11;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void fun(int a[],int t)
{
}
11.编写一个判断素数的函数,在主函数输入一个整数,是素数时输出yes,否则输出no,结果要求在主函数中输出。
12.编写一个函数,将一个字符串中的原音字母赋值到另一个字符串中,并在main函数中调用此函数,输入数据和最后输出都在主函数中实现。
24.编写完成fun函数实现如下功能:从键盘输入任意一个正整数,求出它的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回。(自定义函数void fun(int x,int * pp,int *n))。
#include<stdio.h>
int main()
{
void fun (int x,int *pp, int *n);
void aver_stu();
void aver_cour();
printf("\nNO. cour1 cour2 cour3 cour4\n");
for(i=0;i<3;i++)
{
printf("No %d:",i+1);
for(j=0;j<4;j++)
scanf("%d",&score[i][j]);
如:第一个字符串为sdjfzhyishgzhyzhyiswzxmt,第二个字符串为zhy,输出结果为:3
#include<stdio.h>
#include<string.h>
int main()
{
int retu(char a[],char b[]);
char c[200],d[100];
gets(c);
#include<stdio.h>
#include <string.h>
int fun(char a[],char b[])
{
prinBiblioteka Baiduf("两个字符串相等”);
}
int main()
{
char a[100],b[100],i;
gets(a);
gets(b);
i=fun(a,b);
switch(i)
#include<stdio.h>
int main()
{
void average(int *);
void fun_n(int (*n)[4]);
int score[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}};
average(*score);
fun_n(score);
例如,当给n输入5时,输出为result is18,(要求用递归实现,并且输入和输出都要在主函数中实现)。
5.用递归法将一个整数n转换成字符串。(n为不超过6为的整数)如输入为483,输出为:转换后的字符串为:483;如输入为-13579,输出为:转换后的字符串为:-13579。
注意:输入和输出都要在主函数中实现。
6.写一个函数,完成将任意一个数组中的值按逆序重新存放。(数组长度不超过6位)
要求:数组内容的输入和重新存放后的输出都要在主函数中实现。
如:输入内容为5个整数,分别为8 6 5 4 1,重新存放后输出为:theresult is1,4,5,6,8。
7.编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。
{
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
#include<stdio.h>
int a[11]={1,3,5,7,14,23,45,87,155,231};
int main()
{
int c,i;
void fun(int a[],int c);
printf("input an integer:");
scanf("%d",&c);
fun(a,c);
如:输入A123x45617960? 302tab5876,输出为共有5个整数,分别为123,456,17960,302,5876。
22.有一篇文章,共有4行文章,每行有10个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。(要求用指针实现)
23.编程实现从键盘输入任意十个字符串,找出并显示最长的那个字符串。(要求用指针知识实现)
}
}
struct Student max(struct Student stu[])
{
}
void print(struct Student stu)
{
}
34.学生记录由学号和成绩组成,N名学生的数据已经在主函数中放入结构体数组,编写完成fun函数,把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n返回,平均分通过函数值返回。
}
aver_stu();
aver_cour();
return 0;
}
void aver_stu()//计算并输出每个学生的平均成绩
{
}
void aver_cour() //计算4门课程平均成绩的函数
{
}
27.编写完成fun函数实现将一行字符串中的最长的单词输出。此行字符串从主函数传递给该函数。
#include<stdio.h>
如:输入第一个字符串为I love,第二个字符串为:my motherland,则输出为Ilovemy motherland。
9.编写完成fun函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。
要求:输入和输出都要在主函数中实现。
如:根据输入不同输入内容,对应输出“两个字符串相等”、“第一个字符串大”、“第二个字符串大”。
17.用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。
18.用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。
19.编写一个函数实现字符串复制功能,不能使用strcpy函数,并在main函数中调用,输入字符串和输出赋值完后字符串的结果都在主函数中实现。(要求用指针作为函数参数)
1.输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。
如:输入36和60,输出为:zdgys=12,zxgbs=180
2.输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。
3.用递归调用的方法求n!。
如:输入为5,输出为5!=120。
4.按以下递归公式求函数的值。
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函数中调用此函数,二维数组中数据输入和鞍点数据输出都在主函数中实现。(鞍点是指某个数在该行上最大,同时在该列上最小)
gets(d);
printf("出现的次数为:%d\n",retu(c,d));
return 0;
}
int retu(char a[],char b[])
{
}
16.编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:输入“I am a student!”,输出“Iamastudent!”,要求用指针实现。
struct Student stu[N],*p=stu;
input(p);
print(max(p));
return 0;
}
void input(struct Student stu[])
{
int i;
printf("请输入各个学生的信息:学号、姓名、三门课成绩:\n");
for(i=0;i<N;i++)
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个学生的所有成绩。(要求定义两个函数分别实现上述功能,用指针作为函数参数)