• 第三届全国高校计算机能力挑战赛C


    单项选择题


    1.题
    (3.0分) 以下叙述正确的是()。
     
     
     
     

    2.题
    (3.0分) 下面选项中,是不合法的C语言整型常量的是()。
     
     
     
     

    3.题
    (3.0分) 下面选项中, 不合法的C语言字符串常量的是()。
     
     
     
     

    4.题
    (3.0分)

    C程序中,已有语句int x;float y;char z;
    scanf("%d%f%c",&x,&y,&z); ,要求使用变量x,y,z的值分别为5,3.14,B,则正确的数据输入方式是()。

     
     
     
     

    5.题
    (3.0分) 对于整型变量x,y,z,且x=1,y=2,z=3,则下面表达式值为0的是()。
     
     
     
     

    6.题
    (3.0分) 已有语句int x=2,y=3; 关于if语句编译提示出错的是()。
     
     
     
     

    7.题
    (3.0分) 已有定义int a,b,c;则表达式(a = 1,b = 2,b++,a+b)的值为()
     
     
     
     

    8.题
    (3.0分) 已有整型变量x=0,语句while(x++<=2) ; 以下叙述正确的是()。
     
     
     
     

    9.题
    (3.0分) 执行语句for(i=1;i++<10;);后变量i的值为()。
     
     
     
     

    10.题
    (3.0分) C语言中一维数组定义正确的语句是()
     
     
     
     

    11.题
    (3.0分) 对于两个整型指针变量p,q,两个变量之间不可以的运算是( )
     
     
     
     

    12.题
    (3.0分) C语言中,有语句 int x,*p=&x;以下叙述不正确的是()。
     
     
     
     

    13.题
    (3.0分) C语言程序中,函数返回值的类型取决于()
     
     
     
     

    14.题
    (3.0分)

    以下对结构体类型point中成员x的不正确引用是( )

    struct point

    { int x;

    int y;

    }a,*p;

    p = &a;

     
     
     
     

    15.题
    (3.0分) 某算法对数据序列的大多数操作是在序列的未尾端插入或删除元素,则用下面选项的存储能减少算法的运算时间的是( )。
     
     
     
     
    如有发现错题,辛苦提出哈~

    编程题

    第一题

    #include <stdio.h>
    
    struct  User
    {
        char *name[10];
        double c1;
        double c2;
        double c3;
    };
    
    int main()
    {
    int garde[3]; int score[5]; int max_result=0; int result=0; struct User user[5]; //录入数据 scanf("%d %d %d",&garde[0],&garde[1],&garde[2]); for(int i=0;i<5;i++) { scanf("%s %lf %lf %lf",user[i].name,&user[i].c1,&user[i].c2,&user[i].c3); } //计算 for(int i=0;i<5;i++) { score[i]=user[i].c1*garde[0]*0.01+user[i].c2*garde[1]*0.01+user[i].c3*garde[2]*0.01; if(score[i]>max_result) { max_result=score[i]; result=i; } } //输出 printf("%s %d",user[result].name,max_result); system("pause"); return 0; }

    超时啦!

    第二题

    A21表示11进制,后面21对应的十进制为23

    B10表示12进制,后面10对应的十进制为13

    Cb表示13进制,后面b对应的十进制为11

    第三题

    参考:空间中任意三个点组成三角形面积

    #include <stdio.h> 
    #include <math.h>
    #include <stdbool.h>
    
    /*
    3
    0 0 0
    0 4 0
    0 0 3
    */
     
    struct Node{
        int x, y, z;
    };
     
    double MAX = 0;
    int n;
    struct Node *t;
    //计算两点之间的距离
    double L3(int i, int j){
        return sqrt((double)((t[i].x - t[j].x)*(t[i].x - t[j].x) + (t[i].y - t[j].y)*(t[i].y - t[j].y) + (t[i].z - t[j].z)*(t[i].z - t[j].z)));
    }
     
    //判断是否是三角形
    bool isSan(int i, int j, int k){
        double a = L3(i, j);
        double b = L3(i, k);
        double c = L3(k, j);
        if (a < (b + c) && b < (a + c) && c < (a + b))
        {
            return true;
        }
        return false;
    }
     
    //计算三角形面积
    double CmputeArea(int i, int j, int k){
        double a = L3(i, j);
        double b = L3(i, k);
        double c = L3(k, j);
        double p = (a + b + c) / 2;
        return  sqrt(p * (p - a) * (p - b) * (p - c));
    }
     
    //遍历所有可能的三个点
    void run(){
        for (int i = 0; i < n; i++)
        {
            for (int j = i + 1; j < n; j++)
            {
                for (int k = j + 1; k < n; k++)
                {
                    if (isSan(i, j, k))
                    {
                        double tArea = CmputeArea(i, j, k);
                        if (tArea > MAX)
                        {
                            MAX = tArea;
                        }
                    }
                }
            }
        }
    }
    
    int main(){
        
        //输入
        scanf("%d",&n);
        t=(struct Node*)malloc(sizeof(struct Node)*n); 
        for (int i = 0; i < n; i++)
        {
            scanf("%d %d %d",&t[i].x,&t[i].y,&t[i].z);    
        }
    
        //计算
        run();
        
        //输出
        printf("%.2lf\n", MAX);
        free(t);
        system("pause");
        return 0;
    }
    

    第四题

    作者: Pam

    出处: https://www.cnblogs.com/pam-sh/>

    关于作者:网安在读

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(mir_soh@163.com)咨询.

  • 相关阅读:
    处理Excel的值
    期初数据导入
    返回当前网页的url
    每次Title显示不同的名言
    js做的皮肤更换,可以记住最后更换的效果。
    未知高度的居中
    一个上传多个图片的js技巧
    1205 鸽巢原理
    acm网址
    ios在真机上调试时出现“Error launching remote program: failed to get the task for process xxx"解决办法
  • 原文地址:https://www.cnblogs.com/pam-sh/p/15676621.html
Copyright © 2020-2023  润新知