《C语言程序设计》考试模拟上机试题_第1页
《C语言程序设计》考试模拟上机试题_第2页
《C语言程序设计》考试模拟上机试题_第3页
《C语言程序设计》考试模拟上机试题_第4页
《C语言程序设计》考试模拟上机试题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEC语言2004最新模拟上机试题1.

给定程序MODI1.C中函数fun的功能是:

先从键盘上输入一个

3行3列矩阵的各个元素的值,

然后输出主对角线元素之和。

请改正函数

fun

中的错误或在横线处填上适当的内容并把横线删

除,使它能得出正确的结果。

注意:

不要改动

main

函数,不得增行或删行,也不得更改程序的结构!

#include

int

fun()

{

int

a[3][3],sum;

int

i,j;

/*********found**********/

sum=0;

//______;

for

(i=0;

i

<

3;

i++)

{

for

(j=0;

j

<

3;

j++)

/*********found**********/

scanf("%d",&a[

i

][

j

]);

//scanf("%d",a[

i

][

j

]);

}

for

(i=0;

i

<

3;

i++)

sum=sum+a[

i

][

i

];

printf("Sum=%d\n",sum);

}

main()

{

fun();

}

/*编程题

编写程序,

实现矩阵(3行3列)的转置(即行列互换)

例如,

输入下面的矩阵:

100

200

300

400

500

600

700

800

900

程序输出:

100

400

700

200

500

800

300

600

900

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,

仅在函数fun的花括号中填入你编写的若干语句。

*/

int

fun(int

array[3][3])

{//

int

i,j,t;

for(i=0;

i

<

3;

i++)

for(j=0;

j

<

i;

j++)

{

t=array[i][j];

ray[i][j]=array[j][i];

array[j][i]=t;

}

//

}

main()

{

int

i,j;

int

array[3][3]={{100,200,300},

{400,500,600},

{700,800,900}};

clrscr()

;

for

(i=0;

i

<

3;

i++)

{

for

(j=0;

j

<

3;

j++)

printf("%7d",array[i][j]);

printf("\n");

}

fun(array);

printf("Converted

array:\n");

for

(i=0;

i

<

3;

i++)

{

for

(j=0;

j

<

3;

j++)

printf("%7d",array[i][j]);

printf("\n");

}

}

/*程序修改题2

给定程序MODI1.C中函数fun的功能是:

将从键盘上输入的每个单词的第一个字母转换为大写字母,

输入时各单词必须用空格隔开,

用’.’结束输入。

请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动

main

函数,

不得增行或删行,也不得更改

程序的结构!

*/

int

fun(char

*c,int

status)

{

/***********found**********/

if

(*c==’

’)

return

1;

//if

(c==’

’)

return

1;

else

{

if(status

&&

*c

<=

’z’

&&

*c

>=

’a’)

/***********found**********/

*c

+=

’A’

-

’a’;

//c

+=

’A’

-

’a’;

return

0;

}

}

main()

{

int

flag=1;

char

ch;

printf("请输入一字符串,用点号结束输入!\n")

;

do

{

ch=getchar();

flag=fun(&ch,

flag);

putchar(ch);

}while(ch!=’.’);

printf("\n");

}

/*

编程题

程序的功能是:

把20个随机数存入一个数组,

然后输出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。

注意:

部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,

仅在函数fun

的花括号中填入你编写的若干语句。

*/

#define

VSIZE

20

int

vector[VSIZE]

;

int

fun(int

list[],int

size)

{//

int

i,min=0;

for(i=1;

i

<

size;

i++)

if(list[min]>list[i])

min=i;

return

min;

//

}

main()

{

int

i;

clrscr()

;

for

(i=0;i

{

vector[i]=rand();

printf("Vector[%d]=%6d\n",i,vector[i]);

}

i=fun(vector,VSIZE);

printf("\nMininum:

Vector[%d]=%6d\n",i,vector[i]);

}

程序修改题3

/*

给定程序MODI1.C中函数fun的功能是:

计算整数n的阶乘。请改正程序中的错误或在横线处填上适当的内容并把横线删除,

使它能计算出正确的结果。

注意:

不要改动

main

函数,

不得增行或删行,

也不得更改

程序的结构!

*/

#include

"stdio.h"

double

fun(int

n)

{

double

result=1.0;

while

(n>1

&&

n<170)

/*********found*********/

result*=n--;

//result*=--n;

/*********found*********/

return

result;

//return

_____;

}

main()

{

int

n;

clrscr();

printf("Enter

an integer:

");

scanf("%d",&n);

printf("\n\n%d!=%lg\n\n",n,fun(n));

}

编程题

/*

编写函数fun,函数的功能是:

从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。若程序执行时输入字符串为:

turbo

c

and

borland

c++从键盘上输入字符:n,

则输出后变为:

turbo

c

ad

borlad

c++

;如果输入的字符在字符串中不存在,

则字符串照原样输出。

注意:

部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,

仅在函数fun

的花括号中填入你编写的若干语句。

*/

int

fun(char

s[],int

c)

{//

char

*q=s;

for(;

*q;

q++)

if(*q

!=

c)

*(s++)=*q;

*s=0;

//

}

main()

{

static

char

str[]="turbo

c

and

borland

c++";

char

ch;

clrscr()

;

printf("原始字符串:%s\n",

str);

printf("输入一个字符:");

scanf("%c",&ch);

fun(str,ch);

printf("str[]=%s\n",str);

}

/*程序修改题4

给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为:7654321时,t中的数为:642。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序

的结构!

*/

/************found************/

void

fun

(long

s,

long

*t)

//void

fun

(long

s,

long

t)

{

long

sl=10;

s

/=

10;

*t

=

s

%

10;

/************found************/

while(s

>

0)

//

while

(

s

<

0)

{

s

=

s/100;

*t

=

s%10*sl

+

*t;

sl

=

sl

*

10;

}

}

main()

{

long

s,

t;

clrscr();

printf("\nPlease

enter

s:");

scanf("%ld",

&s);

fun(s,

&t);

printf("The

result

is:

%ld\n",

t);

}

/*

程序修改题5

给定程序MODI1.C中fun函数的功能是:将n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

*/

fun

(

int

n,

int

*a

)

{

int

i,

j,

p,

t;

for

(

j

=

0;

j

{

p

=

j;

/************found************/

for

(i=j+1;

i

//

for

(

i=j+1;

i

if

(

a[

p

]>a[

i

]

)

/************found************/

p=i;

//

t=i;

if

(

p!=j

)

{

t

=

a[j];

a[j]

=

a[p];

a[p]

=

t;

}

}

}

putarr(

int

n,

int

*z

)

{

int

i;

for

(

i

=

1;

i

<=

n;

i++,

z++

)

{

printf(

"%4d",

*z

);

if

(

!(

i%10

)

)

printf(

"\n"

);

}

printf("\n");

}

main()

{

int

aa[20]={9,3,0,4,1,2,5,6,8,10,7},

n=11;

clrscr();

printf(

"\n\nBefore

sorting

%d

numbers:\n",

n

);

putarr(

n,

aa

);fun(

n,

aa

);

printf(

"\nAfter

sorting

%d

numbers:\n",

n

);

putarr(

n,

aa

);

}

/*

编程题

函数fun的功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,

b数的十位和个位数依次放在c数的十位和千位上。

例如,

当a=45,

b=12,

调用该函数后,

c=2514。注意:

部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun

的花括号中填入你编写的若干语句。

void

fun(int

a,

int

b,

long

*c)

{//

*c=a/10+a%10*100+b/10*10+b%10*1000;

//

}

main()

{

int

a,b;

long

c;

clrscr();

printf("Input

a,

b:");

scanf("%d%d",

&a,

&b);

fun(a,

b,

&c);

printf("The

result

is:

%ld\n",

c);

}

/*程序修改题6

给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序

的结构!*/

#define

M

5

/************found************/

int

fun(int

n,

int

xx[][M])

//int

fun(int

n,

int

xx[][])

{

int

i,

j,

sum=0;

printf(

"\nThe

%d

x

%d

matrix:\n",

M,

M

);

for(

i

=

0;

i

<

M;

i++

)

{

for(

j

=

0;

j

<

M;

j++

)

/************found************/

printf(

"%4d",

xx[

i

][

j

]

);

//

printf(

"%4f",

xx[

i

][

j

]

);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论