国家二级(C语言)机试模拟试卷910
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。 在此程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符’0’~’9’,则将’0’转换成’9’,’1’转换成’8’,’2’转换成’7’,…. ’9’转换成’0’;若是其它字符则保持不变;并将转换后的结果作为函数值返回。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件blank1.c中。
不得增行或删行,也不得更改程序的结构!
#include
/**********found**********/
___1___fun(char ch)
{
/**********found**********/
if (ch>=’0’ &&___2___)
/**********found**********/
return ’9’-(ch-___3___);
return ch ;
}
void main( )
{ char c1, c2;
printf(\\
(1)char(2)ch<=’9’(3)’0’
解析:
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。
例如,若给a输入字符串: ABCDEFGHIJK,调用函数后,字符数组b中的内容为: ABC DEF GHI JK。
请改正程序中的错误,使它能得出正确结果。
注意:部分源程序在文件modi1. c中。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
void fun(char *p, char *b)
{ int i, k=0;
while(*p)
{ i=1;
while(i<=3 && *p) {
/**********found**********/
b[k]=p;
k++; p++; i++;
}
if(*p)
{
/**********found**********/
b[k++]=\\
(1)b[k]=*p;
(2)b[k++]=’’;
解析:指针类型变量作为函数的参数,函数的参数不仅可以是整型、实型、字符型等数据类型,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
程序设计题
3.使VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c在此程序中,N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是: 85 7669859172 6487,则平均分应当是: 78.625。
注意。部分源程序在文件prog1.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 8
struct slist
{ double s;
struct slist *next;
};
typedef struct slist STREC;
double fun(STREC *h )
{
}
STREC * creat(double *s)
{ STREC *h,*p,*q; int i=0;
h=p=(STREC*)malloc(sizeof(STREC));p->s=0;
while(i<N)
{ q=(STREC*)malloc(sizeof(STREC));
q->s=s[i]; i++; p->next=q; p=q;
}
p->next=0;
return h;
}
void outlist(STREC *h)
{ STREC *p;
p=h->next; printf(\\
double fun(STREC*h)
{
double ave=0.0;
STREC *p=h->next;
while(p!=NULL)
{
ave= ave+p->s;
p=p->next;
}
return ave/N; }
解析:
本文档预览:3600字符,共2664字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载