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

发布 2021-04-18 20:39:28 阅读 5926

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

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

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

#include<>

void fun(char *p,int t,int *x)

int main()

char st[80];

int a[80],n,i;

gets(st);

fun(st,a,&n);

printf("共有%d个整数:",n);

for(i=0;i printf("第%d个整数为:%d",i+1,a[i]);

return 0;

2.完成encrypt函数,实现加密功能:将字符串中所有小写英文字母循环加密。如a到b,b到c,…,z到a。

如输入zy h**e a little apple!,输出为:az ibwf b mjuumf bqqmf!

#include <>

#include <>

void encrypt(char *s)

int main()

char t1[80],ch;

gets(t1);

printf("the original data is :%s",t1);

encrypt(t1);

printf("the resulted data is :%s",t1);

printf("");

return 0;

3. 用选择法实现对10个整数按从小到大的顺序排序输出(要求完成sort函数)。

#include<>

int main()

int a[10],i,j;

void sort(int *)

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

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

printf("the original data is :"

for(i=0;i<10;i++)printf("%d ",a[i]);

sort(a);

printf("the result data is :"

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

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

puts(""

return 0;

void sort(int *p)

4. 编写一个函数实现字符串复制功能,不能使用strcpy函数。(完成copy_string函数)

#include<>

int main()

char a[100],b[20];

void copy_string(char *,char *)

gets(b);

printf(" the original data is :%s",b);

copy_string(a,b);

printf(" the result data is :%s",a);

return 0;

void copy_string(char *p,char *q)

5.编写fun函数,求出1到m之间的所有素数。

#include <>

int prime(int m)

int i;

for(i=2;iif (m%i==0) break;

if (m==i)

return 1;

else return 0;

int fun(int m,int xx)

void main()

int m,n,zz[100];

printf("please enter an integer number between 10 and 100:")

scanf("%d",&n);

m=fun(n,zz);

printf("there are %d non-prime numbers less than %d:",m,n);

for(n=0;n printf(" %4d",zz[n]);

6. 用冒泡法实现对10个整数按从大到小的顺序排序输出(完成sort函数)。

#include<>

int main()

int a[10],i,j;

void sort(int *)

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

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

printf("the original data is :"

for(i=0;i<10;i++)printf("%d ",a[i]);

sort(a);

printf("the result data is :"

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

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

puts(""

return 0;

void sort(int *p)

7.编写函数:将新输入的数据放在原来的数组中,使数据仍然按升序排列。

#include <>

void insertx(int arr,int x)

int main()

int score[11]=,x,i;

printf("the original data is :");

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

printf("%4d",score[i]);

printf("");

printf("input a integer:");

scanf("%d",&x);

insertx(score,x);

printf("the result data is :");

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

printf("%4d",score[i]);

printf("");

return 0;

8. 编写函数,删除一个字符串中指定下标的字符。其中,a指向原始字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。

如输入一个字符串:world,然后输入3,则调用fun函数后的结果为word。

#include <>

#define len 20

void fun(char a,char b,int n)

void main()

char str1[len],str2[len];

int n;

printf("enter the string:")

gets(str1);

printf("enter the index of the char deleted:")

scanf("%d",&n);

fun(str1,str2,n);

printf("the new string is :%s",str2);

printf("");

9. 从键盘输入5个学生的信息(包括姓名,成绩),存到磁盘文件上。然后再从磁盘文件上读取第1,3,5个学生数据输入计算机,并在屏幕上显示出来。

要求完成s**e函数和read函数。

#include<>

#include<>

#define n 5

struct student

char name[10];

int socre;

stud[n];

void s**e()

void read()

int main()

printf("please enter data of student:");

for(int i=0;i scanf("%s,%d",stud[i].name,&stud[i].socre);

s**e();

read();

return 0;

10. 从键盘上读入3个字符串,对它们按字母大小的升序排序,然后把排好序的字符串送到磁盘文件中保存,把文件保存到d盘根目录下,完成write函数。

#include<>

#include<>

#include<>

void write(char (*st)[20],file *fp1)

void output(file *fp2)

char buf[30];

if ((fp2=fopen("d:\"))null)

while (fgets(buf,20,fp2))

printf("%s",buf);

fclose(fp2);

int main()

file *fp;

char a[3][20],t[10];

int i,j,k;

printf("enter three strings:");

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

gets(a[i]);

write(a,fp);

output(fp);

return 0;

11. 从键盘输入两个字符串,分别保存在磁盘文件“file1”和“file2”中,完成hebing函数,要求把两个文件中的信息合并(按字母顺序排序),输出到一个新文件“file3”中去。(file1、file2和file3都存放在d盘根目录下)

#include<>

#include<>

void creatfile()

file *fp;

char st[20];

printf("输入第一个字符串:")

gets(st);

if ((fp=fopen("d:\\w"))null)

fputs(st,fp);

fclose(fp);

printf("输入第二个字符串:")

gets(st);

if ((fp=fopen("d:\\w"))null)

fputs(st,fp);

fclose(fp);

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

1.输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。如 输入36和60,输出为 zdgys 12,zxgbs 180 2.输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。3.用递归调用的方法求n!如 输入为5,输出为5!120。4.按以下递归...

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

试题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 ...