全国信息水平第六届C语言设计竞赛复赛A卷答案

/*
有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一
位数字,试找出所有符合上述要求的乘积式并打印输出。
*/

#include <stdio.h>
#include <conio.h>

int main()
{
    int A, B, C, D;

    for (A = 1; A <= 9; A++)
    {
        for (B = 1; B <= 9; B++)
        {
            for (C = 1; C <= 9; C++)
            {
                for (D = 1; D <= 9; D++)
                {
                    if (A == D && B == C )
                    {
                        printf("%d%d*%d%d=%d%d*%d%d\n", A, B, C, D, B, A, D, C);
                    }
                }
            }
        }
    }

    getch();
    return 0;
}

/*
2. 编程解决如下问题(50分)。
请在整数n=742683613984中删除8个数字,使得余下的数字按原次序组成的新数最小。要求如下:
(1)整数n和删除数字的个数“8”在源程序中完成赋值,程序直接输出运行结果;
(2)程序结果输出先后被删除的数字(之间以逗号分隔)和删除后所得的最小数。
(提示:整数n可以以字符数组的方式定义、赋值和处理)

*/

#include <stdio.h>
#include <conio.h>
#define LEN 12

int main()
{
    int str[LEN] = {7, 4, 2, 6, 8, 3, 6, 1, 3, 9, 8, 4};
    int i, min, index, cnt = 0;
    int result[LEN] = {0};

    while (cnt < 4)//依次找出倒数最小的4个数
    {
        min = str[0];
        for (i = 0; i < LEN; i++)
        {
             if (min > str[i])
             {
                 min = str[i];
                 index = i;
             }
        }
        result[index] = min;
        str[index] = 100;
        cnt ++;
    }

    cnt = 0;
    for (i = 0; i < LEN; i++)
    {
        if (str[i] != 100)
        {
            if (cnt != 0)
                putchar(',');
            printf("%d", str[i]);
            cnt++;
        }
    }
    putchar(10);

    for (i = 0; i < LEN; i++)
        if (result[i] != 0)
            printf("%d", result[i]);
    putchar(10);

    getch();
    return 0;
}

/*
3. 附加题:编程解决如下问题(50分)。
    (1)已知平面上三个点:(7,1)、(4,6)、(5,8),判断这三点
    组成的三角形是何种三角形(锐角,直角,钝角)(10分);
(2)对(1)问中的三角形,给出它的外接圆半径(20分);
(3)已知平面上6个点的坐标为:(7,1)、(4,6)、(5,8)、(6,2)、
(3,9)、(2,7),试求覆盖这6个点的覆盖圆最小半径(20分)。
(要求:点坐标数据在程序初始化中赋值完成,程序运行后直接输出结果,
 不进行数据输入;点坐标数据和题目要求完全一致,否则导致的结果不正确
 视为程序编写错误。)
*/

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define LEN 12

typedef struct POINT
{
    int x;
    int y;
}Point;

int cmp(const void *lhs,  const void *rhs)
{
    int *px = (int *)lhs;
    int *py = (int *)rhs;

    return *px > *py;
}

int main()
{
    int x, y, flag = 0;
    double a, b, c;

    //------第一问---------------------------------------------
    int a2 = (7 - 4) * (7 - 4) + (1 - 6) * (1 - 6);
    int b2 = (7 - 5) * (7 - 5) + (1 - 8) * (1 - 8);
    int c2 = (4 - 5) * (4 - 5) + (6 - 8) * (6 - 8);

    if (a2 + b2 == c2 || a2 + c2 == b2 || b2 + c2 == a2)
    {
        printf("组成的是直角三角形\n");
    }
    else if (a2 + b2 > c2 || a2 + c2 > b2 || b2 + c2 > a2)
    {
        printf("组成的是钝角三角形\n");
    }
    else
        printf("组成的是锐角三角形\n");

    //------第二问---------------------------------------------
    for (x = 4; x <= 7 && !flag; x++)
    {
        for (y = 1; y <= 8; y++)
        {
            a = (x - 7) * (x - 7) + (y - 1) * (y - 1);
            b = (x - 4) * (x - 4) + (y - 6) * (y - 6);
            c = (x - 5) * (x - 5) + (y - 8) * (y - 8);
            if (a - b < 1e-9 && b - c < 1e-9 && a - c < 1e-9)
            {
                printf("外接圆的半径为:%.2f\n", sqrt(a));
                flag = 1;
                break;
            }
        }
    }

    //------第三问---------------------------------------------
    Point pt[6] = {{7, 1}, {4, 6}, {5, 8}, {2, 7}, {6, 2}, {3, 9}};

    //按横坐标从小到大排序
    qsort(pt, 6, sizeof(pt[0]), cmp);

    //不知道这样做对不对!
    printf("%.2f", sqrt((pt[5/2].x - pt[5].x) * (pt[5/2].x - pt[5].x)
           + (pt[5/2].y - pt[5].y) * (pt[5/2].y - pt[5].y)));
    getch();
    return 0;
}
时间: 2024-08-22 06:42:39

全国信息水平第六届C语言设计竞赛复赛A卷答案的相关文章

第五届全国信息水平设计大赛C语言复赛B卷答案

#include <stdio.h> #include <conio.h> /* 1. 编程解决如下问题:鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一. 百钱买百鸡,问鸡翁,鸡母,鸡雏各几何?(20分) */ int main() { int rooster = 0,//公鸡 hen = 0, //母鸡 child = 0; //鸡雏 for (rooster = 0; rooster <= 20; rooster++) { for (rooster = 0; hen &l

第五届全国信息水平设计大赛C语言程序设计A卷答案

#include <stdio.h> #include <conio.h> /* 1.编程实现:有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}}, 将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0], 第2行同除以a[1][1],...),按行输出新数组.(20分) */ int main() { double a[3][3] = { { 5.4, 3.2, 8}, { 6, 4, 3.3 }, { 7, 3, 1.

第六届全国网络

黑龙江日报7月24日讯 见证黑土发展,体验大美龙江.23日,第六届全国网络 孙尧在介绍黑龙江省情时,还就我省对俄经贸开展情况.对俄经贸合作转型升级.开展对俄旅游合作.保护和开发旅游资源等话题与网络媒体记者进行了互动交流. 由省委宣传部主办,省互联网宣传管理领导小组管理办公室承办,东北网协办的第六届全国网络媒体龙江行活动,以"科学发展,大美龙江"为主题,采访考察活动将沿哈尔滨.绥化.伊春.黑河作环线采访,来自50余家中央重点新闻网站.知名商业网站.各省市区地方重点新闻网站的编辑.记者,将

第六届全国网络媒体龙江行采访团到达黑龙江省绥化市庆安县致富乡兴隆村

在该村,采访团成员伴随着具有朝鲜族特色的音乐与村民同歌共舞,还与村民就新农村建设带来的改变进行交流.随后,采访团一行来到了该县久宏千亩水田大方示范区,了解现代化农业建设情况. 当天下午4点,采访团结束绥化之行,奔赴本届龙江行的第三个采访地点林都伊春. 第六届全国http://www.aliyun.com/zixun/aggregation/13145.html">网络媒体龙江行活动是由以"科学发展,大美龙江"为主题,中共黑龙江省委宣传部主办,黑龙江省互联网宣传管理领导小

云箱参加第六届中国杭州电子信息博览会,备受关注

中云网消息&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;  4月19日,为期4天的第六届中国杭州电子信息博览会在杭州和平国际会展中心开幕.天地云箱携手 天云科技齐亮相,代表云基地 参加此次大会. 本届杭州电博会以"智慧.融合.创新"为主题,共设展位近千个,展览面积达2万平方米,, 重点展出 智慧城市.云计算.物联网. 信息安全.移动商务.移动教育.数字家庭等方面的最新技术和产品. 云箱.云资源

第六届全国网络媒体龙江行采访团踏察松花江湿地

万里松江湿地碧波荡漾,百里生态长廊清凉惬意.24日,第六届全国http://www.aliyun.com/zixun/aggregation/13145.html">网络媒体龙江行活动采访团参观采访了"迷人的哈尔滨之夏"旅游项目,哈尔滨市旅游局局长田岚介绍了旅游文化系列活动开展情况.来自50余家网站的编辑.记者实地踏察了松江湿地风光. 打造"迷人的哈尔滨之夏"城市品牌 哈尔滨,是我国历史文化名城和联合国教科文组织授予的音乐之都,是首批中国优秀旅游城市

“聚焦美好吉林第六届全国网络媒体吉林行”专题采风活动省情介绍会在长春南湖宾馆举行

马俊清首先介绍了吉林省自然概况,并全面介绍了近年来吉林省经济社会发展主要情况. 马俊清介绍说,今年上半年,吉林省经济社会保持了平稳较快发展的良好势头,经济主要指标增速大都高于全国平均水平.上半年,全省固定资产投资完成2980.8亿元,增长29.9%.进出口总额实现121.4亿美元,同比增长14.7%.地方级财政收入540.3亿元,增长22.1%,增速居全国第7位.全口径财政收入1015亿元,增长15.5%.马俊清介绍说,吉林省十次党代会精心描绘了吉林振兴发展的宏伟蓝图.今后五年的奋斗目标概括起来

OPPO携手第六届全国大学生广告艺术大赛寻不凡创意

正式启动,并公开宣布OPPO独家合作本次大广赛公益命题,"http://www.aliyun.com/zixun/aggregation/6708.html">我的世界 因我不凡".OPPO 方面表示希望借助公益选题鼓励广大大学生要敢于追求真我态度,坚持自己的追求,OPPO相信每一颗年轻的心都因不甘平凡而悸动. 作为巡讲首站,组委会特意邀请OPPO手机创意策划总监徐起先生亲临现场解析公益命题"我的世界,因我不凡".企业命题"不凡于心 追求至

OPPO携手第六届全国大学生广告艺术大赛 寻找不凡创意

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 3721.html">2014年3月26日,第六届全国大学生广告艺术大赛(下面简称"大广赛")名家名师校园巡讲首站于中国人民大学正式启动,并公开宣布OPPO独家合作本次大广赛公益命题,"我的世界 因我不凡".OPPO 方面表示希望借助公益选题鼓励广大大学生要敢于追求真我态度,坚持自己的追