当前位置 : 主页 > 编程语言 > c语言 >

2008年湖南省对口高考真题

来源:互联网 收集:自由互联 发布时间:2023-09-07
一、写程序结果 1、 #include stdio.hmain(){ char a=55; a=~a055; printf("%x,%o",a,a);} 运行结果是____________________。 2、 #include stdio.h#define test(x,y) x+ymain(){ float c; c=2*test(3.2,5.4)/2; printf("%6.1f",c);} 运行结果

一、写程序结果

1、

#include <stdio.h>
main()
{
    char a=55;
    a=~a&055;
    printf("%x,%o",a,a);
}

运行结果是____________________。

 

2、

#include <stdio.h>
#define test(x,y) x+y
main()
{
    float c;
    c=2*test(3.2,5.4)/2;
    printf("%6.1f",c);
}

运行结果是____________________。

 

3、

#include <stdio.h>
void fun()
{
    int x=1;
    static int y=1;
    printf("%d%d",++x,y++);
}
main()
{
    int i;
    for(i=0; i<2; i++)
        fun();
}

运行结果是____________________。

 

4、

#include <stdio.h>
main()
{
    int a=12,b=0,x=0;
    do
    {
        b+=2;
        a-=2+b;
        x++;
    }
    while(a>=0);
    printf("%d",x);
}

运行结果是____________________。

 

5、

#include <stdio.h>
main()
{
    int n=132,i=1,j,k,b[10];
    while(n!=0)
    {
       j=n%6;
       b[i]=j;
       n=n/6;
       i=i+1;
    }
    for(k=i-1; k>0; k--)
       printf("%d",b[k]);
}

运行结果是____________________。

 

二、程序填空

1、

任意输入坐标平面上一点(x,y),求该点到原点(0,0)间的距离。

#include <stdio.h>
#include <math.h>
#include <malloc.h>
__________ 1 __________ node
{
    float x;
    float y;
} node;
main()
{
    node *p;
    p=__________ 2 __________;
    scanf("%f,%f",&p->x,&p->y);
    printf("%5.1f",sqrt(p->x*p->x+p->y*p->y));
    __________ 3 __________;
}

 

2、

下列给定程序中,函数fun()的功能是:从n个字符串中找出最长的那个串,并将其地址作为函数值返回。

#include <string.h>
#include <stdio.h>
#define n 4
#define m 50
char *fun(char(*q)[m])
{
    int i;
    char *p;
    __________ 4 __________;
    for(i=0; i<n; i++)
        if(strlen(p)<strlen(*q++))
            __________ 5 __________;
    return p;
}
main()
{
    char str[n][m]={"pingpong","basketball","field hockey","softball"};
    char *longest;
    int i;
    longest=fun(str);
    printf("\nthe longest string:\n");
    puts(longest);
}

 

三、改错

1、

下列程序的功能是求分数序列: 89/55,-55/34,34/21,-21/13,13/8……的前8项之和。程序中有2处错误,请标记并改正。

#include <stdio.h>
main()
{
    int i,flag=1;
    float a=144,b=89,s=0,t;
    for(i=1; i<=8; i++)
    {
        s=s+a/b;
        flag=-flag;
        t=b;
        a=a-b;
        a=t;
    }
    printf("%5.1f",s);
}

 

2、

下列程序的功能是采用简单插入的排序方法,随机产生10个整数,按从小到大的顺序排列。在程序中有2处错误,请标记并改正。

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
    int i,j,a[11];
    for(i=1; i<11; i++)
        a[i]=rand();
    for(i=2; i<11; i++)
    {
        a[0]=a[i];
        for(j=i-1; j>=1; j--)
            if(a[0]<a[j])
                a[j-1]=a[j];
            else
                continue;
        a[j+1]=a[0];
    }
    for(i=1; i<11; i++)
        printf("%d  ",a[i]);
}

 

四、程序设计题

1、

有一辆在高速公路上行驶的汽车,司机在某一时刻看到里程表显示的数值为95859公里(95859为回文数,回文数是指正读反读均一样的数),7小时后,里程表上又出现了一个回文数。编程求出此回文数和汽车时速?(注:高速公路限速60公里以上,汽车的里程表为5位数)


五、程序方向

(一)、程序填空

下列程序定义了3×3的二维数组,并在主函数中自动赋值;函数fun的功能是使二维数组的上三角元素的值全部置0。

调用函数前         调用函数后

1   2   3               1   0   0

2   4   6               2   4   0

3   6   9               3   6   9

#include <stdio.h>
__________ 1 __________
main()
{
    int a[3][3],i,j;
    for(i=1; i<=3; i++)
        for(j=1; j<=3; j++)
            __________ 2 __________=i*j;
    fun(3,a);
    printf("the result:\n");
    for(i=0; i<3; i++)
    {
        for(j=0; j<3; j++)
            printf("%4d",a[i][j]);
        printf("\n");
    }
}
void fun(int n,int a[3][3])
{
    int i,j;
    for(i=0; i<n-1; i++)
        for(j=i+1; j<__________ 3 __________; j++)
            a[i][j]=0;
}

 

(二)、程序设计

弦数是指平方值等于某两个正整数平方之和的正整数,如:32+42=52,因此5为弦数。编程输出10到100之间的所有弦数及弦数的数量。

 

参考答案:

一、写程序结果

1、 8,10                   2、 □□□9.1          3、 2122

4、 3                  5、 340

注:□代表空格

二、程序填空

1、 typedef struct          2、 (node *)malloc(sizeof(node))          3、free(p)

4、 p=(*q);            5、 p=*(q-1);

三、改错

1、 L8      s=s+flag*b/(a-b);//s=s+a/b;

2、 L11     b=a-b;//a=a-b;

3、 L14     a[j+1]=a[j];//a[j-1]=a[j];

4、 L16     break;//continue;

四、程序设计题

1、参考代码

#include <stdio.h>
main()
{
    int i,j,a[11];
        int v=61,s,s1=95859;
    while(1)
    {
        s=s1+7*v;
        if(s/10000==s%10)
            if(s/1000%10==s/10%10)
                break;
        v++;    

    } 
    printf("回文数:%d  汽车时速:%d",s,v);
}

五、程序方向

(一)、程序填空

1、 void fun(int n,int a[3][3]);        2、 a[i-1][j-1]        3、 n

(二)、程序设计

参考代码

#include <stdio.h>
#include <math.h>
main()
{
    int i=1,j,k,x=0;
    for(i=1;i<100;i++)
        for(j=i+1;j<100;j++)
        {
            k=sqrt(i*i+j*j);
            if(k*k==i*i+j*j && k>=10 && k<=100)
                printf("\n%d    %d*%d=%d*%d+%d*%d",++x,k,k,i,i,j,j);    
        }
}

 

上一篇:TCP包的类型 (SYN, FIN, ACK, PSH, RST, URG)
下一篇:没有了
网友评论