首页 > 其他分享 >2023年湖南省对口高考真题

2023年湖南省对口高考真题

时间:2023-08-02 17:33:47浏览次数:55  
标签:main return _____ 真题 int 对口 2023 printf include

一、选择题

1、

下列关于算法的描述中,错误的是__________。

A.算法可以用伪代码、流程图等多种形式描述

B.一个正确的算法必须有输入

C.一个正确的算法必须有输出

D.能用流程图描述的算法,也可用计算机高级语言描述

2、

如用"scanf("%c%c",&c1,&c2)",为字符变量c1和c2分别赋值字符'A'和'B',正确的输入是__________。

A.字符'A'和'B'之间用逗号间隔

B.字符'A'和'B'之间不能有任何间隔符

C.字符'A'和'B'之间可以用回车间隔

D.字符'A'和'B'之间用空格间隔

3、

下列关于文件操作的描述中,错误的是__________。

A. "file *fp;"可定义一个文件指针

B.fputc函数可用于把数据写入到文件

C.fprintf函数可用于把数据写入到文件

D.fputs函数可用于把数据写入到文件

二、程序填空题

1、

一件衣服80元,消费满300元,打九折;消费满500元,打8折。试编程实现以下功能:输入购买衣服件数,输出购买件数和需付金额(元)。

#include <stdio.h>
main()
{
    int s,n;
    _____ 1 _____
    printf("n=");
    scanf("%d",&n);
    s=n*80;
    switch(_____ 2 _____)
    {
        case 0:
        case 1:
        case 2:
            break;
        case 3:
        case 4:
            d=0.9;
            break;
        _____ 3 _____
            d=0.8;
    }
    _____ 4 _____
    printf("n=%d,s=%d\n",n,s);
    return 0;
}

三、写程序结果

1、

下列程序的运行结果是__________。

#include <stdio.h>
main()
{
    int a=2,b=1,c=1;
    for(;a;) 
    {
        b+=a;
        a-=++c;
    }
    printf("%d,%d,%d\n",a,b,c);
    return 0;
}

2、

下列程序的运行结果是__________。

#include <stdio.h>
main()
{
    int s=24,r=1;
    while(s) 
    {
        if(!(s & 0x01))
            r++;
        else
            break;
        s>>=1;
    }
    printf("r=%d\n",r);
    return 0;
}

3、

下列程序的运行结果是__________。

#include <stdio.h>
#define S(X) X*X
main()
{
    int a=10,k=2,m=1;
    a/=S(k+m)/S(k+m);
    printf("%d\n",a);
    return 0;
}

4、

#include <stdio.h>
void fun(char *s,char c)
{
    int i,j,n;
    for(i=0;s[i]!='\0';i++)
        if(s[i]==c)
        {
            n=0;
            while(s[i+1+n]!='\0') n++;
            for(j=i+n+1;j>i;j--) s[j+1]=s[j];
            s[j+1]=c;
            i=i+1;
        }
}
main()
{
    char s[80]="baacda",c='a';
    fun(s,c);
    printf("result:%s\n",s);
    return 0;
}

5、

下列程序的运行结果是__________。

#include <stdio.h>
int max(int x,int y)
{
    return (x>y)?x:y;
}
main()
{
    int A[]={2,-3,8};
    int n=sizeof(A)/sizeof(int);
    int nStart=A[n-1];
    int nAll=A[n-1];
    int i;
    for(i=n-2;i>=0;i--)
    {
        nStart=max(A[i],nStart+A[i]);   
        nAll=max(nStart,nAll);
    }
    printf("max=%d\n",nAll);
    return 0;
}

四、程序填空

1、

有n盏灯,编号为1~n;k个人,k≤n≤100。第1个人把所有灯打开,第2个人按下所有编号为2倍数的灯开关(这些灯将关掉),第3个人按下所有编号为3倍数的灯开关(关掉的灯将打开,开着的灯将关闭),依此类推。问最后有哪些灯开着?

下面程序的功能是:输入n和k,输出开着的灯编号。如有7盏灯,3个人,则输出"1-5-6-7"。

#include <stdio.h>
#include "string.h"
#define maxn 101
int a[maxn]={0};
int main()
{
    int i,j,n,k,_____ 1 _____
    printf("n=");
    scanf("%d",&n); 
    printf("k=");
    scanf("%d",&k);  
    for(i=1;i<=k;i++)
        for(j=i;j<=n;j++)
            if(_____ 2 _____)
                _____ 3 _____
    for(i=1;i<=n;i++)
        if(_____ 4 _____)
        {
            if(first) _____ 5 _____
            else printf("-");
            printf("%d",i);
        }
    printf("\n");
    return 0;
}

五、改错

1、

下列程序的功能是:函数f的功能是:求整数n(n<1000)每个数位上包含1的个数,如:17中各数位包含1的数量为1,112中各数位包含1的数量为2.主函数的功能是求小于N的自然数中,各数位包含1的数量的和。如N=7,执行结果为"iCount=1";如N=12,执行结果为"iCount=5"。以下程序只允许修改三行

#include <stdio.h>
unsigned int f(unsigned int n)
{
    unsigned int iNum=0;
    while(n)
    {
        iNum+=(n%10)?0:1;
        n%=10;
    }
    return iNum;
}
int main()
{
    unsigned int N=7;
    unsigned int iCount=0;
    int i;
    for(i=1;i<=N;i++)
    {
        iCount=f(i);
    }
    printf("iCount=%d",iCount);
}

2、

下面程序功能是计算如下级数,直到最后一项的绝对值小于10-6。以下程序只允许修改两行

1-1/3+1/5-1/7+…

#include <stdio.h>
int main()
{
    double sum=0.0;
    int i;
    for(i=0;;i++)
    {
        double term=1/(i*2+1);
        if(i%2==0)
            sum+=term;
        else
            sum-=term;
        if(term<1e-6)
            continue;
    }
    printf("%.6f\n",sum);
    return 0;
}

六、程序设计题

1、

下列程序的功能是:输入学生信息与三科成绩,并存放在链表中;输出总成绩最高的学生信息及成绩。例如,若学生信息为:“2023001张一明83 92 78;2023002 李小明 85 94 78;2023003 王大明 88 88 78”,则执行程序后,输出总分最高的学生李小明的相关信息。

#include <stdio.h>
#include "stdlib.h"
#define maxNum 3
typedef struct data
{
    char ID[10];    /*存放学号*/
    char name[10];  /*存放姓名*/ 
    int score[3];   /*存放三科成绩*/ 
    struct data *next;
}_____ 1 _____
MYDATA *creatData()
/*创建存放信息的链表*/
{
    MYDATA *p,*q,*h;
    int i;
    int INPUT=0;
    h=q=(MYDATA *)malloc(sizeof(MYDATA));
    while(INPUT++<maxNum)
    {
        p=(MYDATA *)malloc(sizeof(MYDATA));
        printf("input No(7 numbers):");
        scanf("%s",p->ID);
        printf("input name(8 charaters):");
        scanf("%s",p->name);
        printf("input 3 scores:\n");
        for(i=0;i<3;i++)
            scanf("%d",(p->score)+i);
        p->next=p;
        q->next=p;
        _____ 2 _____
    }
    q->next=NULL;
    return h;   
} 
void outData(MYDATA *h) /*输出链表存放的信息*/
{
    MYDATA *p;
    int i;
    p=h->next;
    while(p!=NULL)
    {
        printf("No--%s\n",p->ID);
        printf("Name--%s\n",p->name);
        for(i=0;i<3;i++)
            printf("%d ",(p->score)[i]);
        p=p->next;
        printf("\n\n");
    }
} 
void findMax(MYDATA *h) /*输出总成绩最高的学生信息*/
{
    MYDATA *p;
    int i,pos=0,j=0;
    int maxSum=0;
    p=h->next;
    while(p!=NULL)  
    {
        int sum=0;
        for(i=0;i<3;i++)
            sum+=(p->score)[i];
        if(sum>maxSum)
        {
            maxSum=sum;
            _____ 3 _____
        }
        j++;
        p=p->next;
    }
    _____ 4 _____
    printf("the best score is :\n");
    while(pos--)
        p=p->next;
    printf("No--%s\n",p->ID);
    printf("Name--%s\n",p->name);
    for(i=0;i<3;i++)
        printf("%d ",(p->score)[i]);
    printf("maxSum=%d\n\n",maxSum);
} 
int main()
{
    MYDATA *h;
    h=creatData();
    outData(h);
    _____ 5 _____
    return 0;
}

参考答案:

一、选择题

1—3    B、B、A

二、程序填空题

1、float d=1.0;         2、s/100            3、default :        4、s=s*d;

三、写程序结果

1、0,3,2                2、r=4              3、1

4、result:baaaacdaa     5、max=8

注:第2题若s=20或s=18更好

    第5题最好还要输出nStart

四、程序填空

1、first=1;         2、j%i==0           3、a[j]=!a[j];     

4、a[i]==1          5、first=!first; 或者 first=0;

五、改错

1、

L07         iNum+=(n%10==1)?1:0;

L08         n/=10;

L19         iCount+=f(i);

注:若19行按照如下功能修改也可以,但是没有完全按照题意,故不要改第4行

L04         static unsigned int iNum=0;

2、

L08     double term=1.0/(i*2+1);//double term=1/(i*2+1);

L14     break;//continue;

六、程序设计题

1、MYDATA;              2、q=p;                 3、pos=j;

4、p=h->next;           5、findMax(h);

标签:main,return,_____,真题,int,对口,2023,printf,include
From: https://blog.51cto.com/teacherzhou/6940585

相关文章

  • 2022年湖南省对口高考真题
    一、选择题1、下列C语言表达式__________的值不等于1。A.123/100          B.365%5            C.abs(-1)          D.0||12、对C语言程序,以下说法正确的是__________。A.main函数是主函数,一定要写在最前面B.程序总是从main函数开始执行的C.程......
  • 【专题】2023全球智能家居市场报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33358智能家居行业目前已经基本实现了家用物联网的建设。为了满足用户个性化和弹性化的需求,智能家居3.0阶段着重于将云计算、边缘计算和人工智能等支持技术深化应用于智能家居产品中。阅读原文,获取专题报告合集全文,解锁文末74份智能家居行业相关报......
  • 2023年Java学习路线,史上最全Java学习路线-文中有送书福利
    小伙伴们大家好,这里是动力节点,我们从2009年开始一直在从事Java培训到今年已经整14年了,虽然现在不缺培训机构,更不缺Java培训,但是像我们这么多年专注这一件事的应该也不多。我们只希望在“专业”两个字上面不断精进,给每一位想学Java的同学带来更好的资源和学习规划。我们深知,有很多同......
  • 2023年多校联训NOIP层测试2
    2023年多校联训NOIP层测试2爆零了T1HDU4786FibonacciTree\(0pts\)@wangyunbiao:不可以,总司令我:不,可以,总司令T2期末考试\(0pts\)T3麻烦的工作\(0pts\)@wangyunbiao:不可以,总司令我:不,可以,总司令T4小X的Galgame\(0pts\)......
  • 【题解】HDOJ 7329 [2023杭电多校] Touhou Red Red Blue
    题目传送门:HDOJ7329[2023杭电多校]TouhouRedRedBlue题意有两个口袋(口袋容量为1,初始均为空),有若干个UFO按顺序来到你的面前,每个UFO有一个颜色(GRB),你可以选择扔掉它或者把它装进口袋中,如果口袋1空着必须装进口袋1;如果口袋都满了,算上面前的UFO共有三个,有如下三种情况:如......
  • NOI2023 打金记
    扔到cnblogs上。##Day-4最后一场模拟赛,肯定要用力打啊!然而一题不会,呜呜呜。于是开始拼暴力,写了$90+60+60=210$,结果挂成$40+60+60=160$。T1我将题目转化为:对于一个排列,每次只改动三个位置,要求某个数的出现位置,我用了fhq-treap!维护一个桶就好了,不知道自己......
  • Pycharm激活码2023年,Pycharm稳定专属激活码(持续更新)
    Windows上的安装步骤:步骤1:下载PyCharm访问JetBrains官网(https://www.jetbrains.com/pycharm/)下载PyCharm。网页上会提供Community版和Professional版的下载链接,根据您的需要选择合适的版本。步骤2:运行安装程序下载完成后,找到下载的安装程序(通常是一个.exe文件),双击......
  • [新世界日语]2008年日语三级真题及答案
    [新世界日语]2008年日语三级真题及答案讨论请进和风日语论坛http://bbs.jpwind.com/forum-20-1.html[新世界日语]2008年日语三级真题-词汇[新世界日语]2008年日语三级真题-语法 [新世界日语]2008年日语三级真题-听力原文 ......
  • 2023.8
    1.GoodSubsegments这个已经是典中典题了。首先考虑一个段合法等价于\(mx-mn=r-l\),也就是\(mx-mn-r+l=0\),而且注意到\(mx-mn-r+l\ge0\),所以如果我们全局询问的话,那就是扫描线维护,然后维护一下全局的最小值以及最小值个数就行了。然后区间的子区间计数就考虑套维护历......
  • 定档!WAVE SUMMIT 2023@全球开发者,8月16日北京见!
    潮汐涌动时,变化悄然发生。2023年全球AI浪潮迭起,大语言模型热度空前,生成式人工智能为千行百业高质量发展带来更多想象空间,一个蓬勃创新、重构万物的“大模型时代”正蓄势待发。滴滴滴~飞桨@全球开发者,由深度学习技术及应用国家工程研究中心主办、百度飞桨和文心大模型承办的WAVESUMM......