11年6月c语言上机试卷 B

发布 2020-05-16 23:45:28 阅读 5838

南京师范大学2010-2011学年第2学期。

c程序设计》课程期末上机试卷(b)

考试时间: 70分钟, 满分:40分,清注意按要求保存文件)

试卷密码c02

一、 改错题(20分)

题目】将一个整数插入一个已排序的数组而不改变数组的次序。

例如:将34插入数组:1 3 23 28 45 48 89 103 221。则数组变为:

含有错误的源程序如下:

#include <>

void main()

int num,i,j;

printf("insert data: "

scanf("%d",num);

for(i=10;i>=0;i--)

if(num<=a[i])

a[i+1]=a[i];

elsebreak;

a[9]=num;

printf ("now array a: "

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

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

printf("");

二、 编程题(20分)

题目】输入一个整数,在已有数组中进行二分查找,将查找结果写到文件。若找到,写入是第几个整数,若没找到,写入没找到。

编程要求】

1. main函数中的数组数值可以在定义时给定,调用函数查找数据,再将查找结果写入文件。

2. 功能函数int find(int a,int n,int x)在长度为n的数组a中查找整数x。找到返回x 在数组中的位置(下标+1),没找到返回-1。

最后将考生本人的学号也保存到文件中。

测试数据】 1 3 8 9 22 31 43 49 50 110

查找31运行结果】 1 3 8 9 22 31 43 49 50 110

31 at no.6

my no#include <>

void main()

int num,i,j;

printf("insert data: "

scanf("%d",&num);

for(i=8;i>=0;i--)

if(num<=a[i])

a[i+1]=a[i];

elsebreak;

a[i+1]=num;

printf ("now array a: "

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

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

printf("");

#include<>

int find (int a,int n,int x)

int left,right,m;

left=0;right=n-1;

while(left<=right)

int x,loc;file *fp;

fp=fopen("d:\\21110108\\"w+")

printf("finded data :"

fprintf(fp,"finded data :"

scanf("%d",&x);

fscanf(fp,"%d",&x);

loc=find(a,10,x);

printf("%d at no.%d",x,loc);

fprintf(fp,"%d at no.%d",x,loc);

fprintf(fp," my number is 21110108");

fclose(fp);

11年6月c语言上机试卷 A

南京师范大学2010 2011学年第2学期。c程序设计 课程期末上机试卷 a 考试时间 70分钟,满分 40分,清注意按要求保存文件 试卷密码c01 一 改错题 20分 题目 以下程序的功能是找出所有的3位数的素数,并将其写入文件中。含有错误的源程序如下 include int prime int ...

13年6月C语言上机真题

一 改错题。注意事项 1.标有 error?的程序行有错,请直接在该行修改 2.请不要删除或修改 error?错误标志 3.请不要将错误行分成多行 4.请不要修改错误语句的结构或其中表达式的结构,如错误语句 if a b x x y 正确形式为if a b x x y 若改成 if b a x x ...

C语言上机试卷C

本试卷完成时间 90分钟 一 改错题 16分 程序功能 函数findword的功能是 在s指向的由若干个英文句子组成的字符串中搜索包含t指向子串的单词,将找到的所有包含t子串的单词复制到ch指向的二维数组中,函数返回找到的单词个数。称s字符串为 被搜索字符串 t子串为 搜索字符串 测试数据与运行结果...