第一范文网 - 专业文章范例文档资料分享平台

湖南省历界对口高考C语言真题(答案)

来源:用户分享 时间:2025/8/21 22:06:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

main( ) { int i;

char who=’A’; int isFound=0;

for(i=0; i<4 ;i++) { int sum=0;

who= ‘A”+i ; if(who!=’A’)sum++; if(who==’C’)sum++; if(who==’D’)sum++;

if( who!=’D’&&who!=’B’ )sum++; if( sum==3 ) { printf(“罪犯是%c\\n”,who); isFound=1; } }

if(!isFound)

printf(“没有找到符合条件的人\\n”); }

四、程序分析题

1、 #include

main( )

{ int a=7,b=3,c=2; int d=(a>b!=c); printf(“%d”,d); }

2、当以下程序输入为125时,运行结果是

#include main( ) { int c;

while((c=getchar( ))!=’\\n’) switch(c-‘2’) { case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break; case 3: putchar(c+3);

default: putchar(c+2);break;

} }

3、#include static int f=1; int func(int n) { f+=n;

return f;

1 36687 25

}

main( ) { int i;

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

printf(“%d”,func(i)); }

4、#include main( )

{ int a[9]={1,2,3,4,5,6,7,8};

int *p=a; int sum=0;

for( ;p

5、#include void f(int *q) { int i;

for(i=0;i<3;i++) (*q)--; }

main( )

{ int a[5]={8,7,6},i; f(a);

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

printf(“%d”,a[i]); }

五、程序填空题

36 20 576 1、下面程序从文本文件test.txt逐个读入字符,并显示在屏幕上。 #include main() { FILE*fp;

char ch,*filename=”tdst.txt))

if((fp= fopen (filename,”r”))==NULL) { printf(“cannot open file\\n”); exit(0); }

while(! feof (fp)) { ch=fgetc(fp); putchar(ch); }

fclose(fp); }

26

2、以下程序的功能是:读入一行字符,以回车结束,按输入时的逆序使用单链表进行存储,先输入的位于链表尾,然后再遍历输出链表。 struct node { char value;

struct node *link; };

main( )

{ struct node *top,*p; char c; top=NULL;

while((c=getchar( )) !=’\\n’ )

{ p=(struct node *)malloc(sizeof(struct node)); p->value=c; p->link=top; top=p ; }

p=top; while(p)

{ putchar( p->value ); p=p->link; } }

3、折半查找也称为二分查找,适用于有序数组。已知数组按照升序排列。 #include int main( ) { int key=0;

int data[10]={1,3,5,7,8,9,13,18,22,28}; int ret;

printf(“请输入要查找的数:”); scanf(“%d”,&key);

ret=BinarySearch(key,data); if(ret>=0)

printf(“\\n %d 是数组中的第%d个数\\n”,key,ret+1); else

printf(“\\n %d在数组中未找到!\\n”,key); system(“pause”); return 0; }

int BinarySearch(int key,int data[ ]) { int low=0,high=9,middle; while( low<=high )

{ middle= (low+high)/2 ; if( key==data[middle] ) return middle;

27

else if(key

return -1; }

六、程序改错题,不得增选或删行,也不得更改程序结构。 1、矩阵乘法是指两个矩阵相乘,生成一个新矩阵,其乘法公式如下: cij?K?aill?1?blj

以下程序实现两个2×2的矩阵相乘。只对程序中的两行代码进行修改,使其可以正确运行。 #include #define M 2 #define N 2 #define K 2 int main( )

{ int a[M][K]={1,-1,0,2}; int b[K][N]={4,0,2,5};

int c[M][N}; int c[M][N}={0}; int i,j,l;

for(i=0;i

c[i][j]=a[i][l]*b[l][j]; c[i][j]+=a[i][l]*b[l][j]; return 0; }

2、某班举行歌唱比赛,赛后需要显示成绩最高的选手名字和成绩,以下程序实现了查找得分最高选手的功能。只对程序中的三行代码进行修改,使其可以正确运行。 #include #define MAX 3

struct PLAYER typedef struct PLAYER { char *name; float score; }Player; int main( )

{ Player players[]={{“丁一”,90.3},{”陈二”,95.8},{“张三”,89.6}}; Player * player;

Player topplayer=players[0];

for(player=players;player

if(player.score>topplayer.score) if(player->score>topplayer.score) topplayer=player; topplayer=*player; printf(”Top Player is %s,score is %6.2f”,topplayer.name,topplayer.score); return 0; }

28

湖南省历界对口高考C语言真题(答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0wjt5445579nplx1m1zz_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top