第五届全国信息水平设计大赛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.3 }
                     };
    int i, j;
    double tmp;

     //---------------输出原数组------------------------------
    puts("原数组内容:");
    for (i = 0; i < 3; i ++)
    {
        for (j = 0; j < 3; j++)
        {
            printf("%lf  ", a[i][j]);
        }
        putchar(10);
    }

    for (i = 0; i < 3; i++)
    {
        tmp = a[i][i];
        for (j = 0; j < 3; j++)
        {
            a[i][j] /= tmp;
        }
    }
    //---------------输出新数组------------------------------
    puts("新数组内容:");
    for (i = 0; i < 3; i ++)
    {
        for (j = 0; j < 3; j++)
        {
            printf("%lf  ", a[i][j]);
        }
        putchar(10);
    }

    getch();
    return 0;
}

#include <stdio.h>
#include <conio.h>
#include <math.h>/*
3、 编程:设x取值为区间[1,20]的整数,求函数f(x)=x-sin(x)- cos(x)
    的最大值,要求使用自定义函数实现f(x)功能。(20分)
*/
double f(int x);int main()
{
    int i, j;
    double maxFx = 0.0, tmp = 0.0;    for (i = 1; i <= 20; i++)
    {
        tmp = f(i);
        if (maxFx - tmp < 1e-7)
            maxFx = tmp;
    }    printf("maxF(x) = %lf\n", maxFx);
    getch();    return 0;
}double f(int x)
{
    return (double)(x - sin(x) - cos(x));
}

#include <stdio.h>
#include <conio.h>
#include <string.h>/*
    4.编写函数fun,通过指针实现将一个字符串反向。要求主函数输入
      字符串,通过调用函数fun实现输入字符串反向。(20分)
*/
void fun(char str[])
{
   int len = strlen(str);
   int i, j;
   char tmp;   for (i = 0, j = len-1; i < j; i++, j--)
   {
       tmp = str[i];
       str[i] = str[j];
       str[j] = tmp;
   }
}int main()
{
    char str[100];    gets(str); //输入字符串
    puts("字符串反向前:");
    puts(str);    fun(str);    puts("字符串反向后:");
    puts(str);    getch();
    return 0;
}
#include <stdio.h>
#include <conio.h>
#include <string.h>/*
   5、已知学生三门课程基本信息如下。请使用结构体编程,计算学生三门
   课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信
   息,并按平均分排序。(20分)
   姓名  数学 英语 计算机
   Mary  93    100   88
   Jone   82    90   90
   Peter   91    76   71
   Rose   100   80   92
*/
/*------------声明结构-------------------*/
typedef struct Student
{
    char name[20];
    float math;
    float english;
    float computer;
    float avg;
}STU;int cmp(const void *lhs, const void *rhs)
{
    STU *f = (STU *)lhs;
    STU *s = (STU *)rhs;
    return f->avg - s->avg > 1e-7;
}int main()
{
    STU s[4] = {{"Mary", 93, 100, 88, 0.0}, {"Jone", 82, 90, 90, 0.0},
                {"Peter", 91, 76, 71, 0.0}, {"Rose", 100, 80, 92, 0.0}};
    float average = 0.0f;
    int i, j;    for (i = 0; i < 4; i++)
    {
        s[i].avg += s[i].math + s[i].english + s[i].computer;
        s[i].avg /= 3;
    }
    //从小到大排序
    qsort(s, 4, sizeof(s[0]), cmp);    for (i = 0; i < 4; i++)
    {
        printf("%-8s%-5.0f%-5.0f%-5.0f%-5.3f\n", s[i].name,
               s[i].math, s[i].english, s[i].computer, s[i].avg);
    }
    return 0;
}

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

typedef struct ARTICLE
{
    char word[15];
    int counter;
}Article;

//判断是否已经存在
int isExist(Article *art, int size, char *tmp);

int main()
{
    Article article[200];
    char tmp[15];
    int i = 0, size, index;

    for (i = 0; i < 200; i++)//初始化
    {
        article[i].counter = 1;
    }

    i = 0;//不能少这一步
    scanf("%s", article[i].word);
    size = 1;
    while ( scanf("%s", tmp) && strcmp(tmp, "000") != 0)
    {
        index = isExist(article, size , tmp);
        //printf("index = %d\n", index);
        if (index != -1)
        {
            article[index].counter++;
        }
        else
        {
            strcpy(article[++i].word, tmp);
            size += 1;
        }
    }

    for (i = 0; i < size; i++)
    {
        printf("%s\t", article[i].word);
    }
    putchar(10);
    for (i = 0; i < size; i++)
    {
        printf("%d\t", article[i].counter);
    }
    putchar(10);

    return 0;
}

int isExist(Article *art, int size, char *tmp)
{
    int i;
    for (i = 0; i < size; i++)
    {
        if (strcmp(tmp, art[i].word) == 0)
            return i;//返回下标
    }
    return -1;
}

 

时间: 2025-01-30 17:33:29

第五届全国信息水平设计大赛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

新日全国大学生智能设计大赛精彩落幕各大奖项名花有主

10月26日,以"智造梦想"为主题的新日全国大学生智能设计大赛在无锡圆满落幕,各个奖项也都纷纷出炉.来自山东工艺美术学院的曲芹芹同学的作品"蜂"最终斩获桂冠,荣膺"航天大奖".来自北京科技大学等高校的其他选手分享了金银铜奖及优胜奖.据了解,此次大赛自6月20日正式启动以来,就得到了业界的广泛关注,来自全国100所高校参赛学生共提交了1728件设计作品,从而引发了一场"智造梦想"的风暴.获得本次大赛最高奖项新日航天设计奖的作品&

微乐全国手机主题设计大赛第一季火热启动

据悉自11月12日起,微乐第一季全国手机主题设计大赛盛大启动.短短一周以来,报名人数已超过500人,其中有来自中央美术学院,清华美院以及北大等高校的美术学院的众多学生,也有来自社会上从事美术专业的工作者. 微乐举办的第一季全国手机主题设计大赛如此受到欢迎?来自微乐的http://www.aliyun.com/zixun/aggregation/7103.html">创业合伙人兼首席营销官赵雨润给出三大原因的解释. 一是大赛主题发挥想象空间大,且参与方式多样.第一季以"十二星座&q

迪普科技亮相第五届全国信息安全等级保护技术大会

近日,由公安部网络安全保卫局等有关部门指导.公安部第三研究所主办的"第五届全国信息安全等级保护技术大会"在云南昆明召开.来自国家部委.央企.全国公安网安.全国各地信息安全测评机构.安全企业.各大高校代表等近500人出席.作为国内安全领军企业及杭州G20峰会的技术支撑单位,迪普科技受邀并参加本次会议. 本次大会上,围绕着网络安全保护策略.新技术新应用.信息安全产品和等级保护技术体系等内容进行探讨,为信息安全职能部门.专家学者和信息安全企业提供一个开放的技术交流平台,共同分享等级保护的技术

2007年首届全国工具条设计大赛活动介绍

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 一.大赛简介 随着Internet应用的日益普及,互联网已经成为我们日常工作.学习.生活中不可缺少的重要组成部分.浏览器工具条软件作为网民的上网辅助工具软件,由于具备运行简单.轻便小巧.方便快捷.简单易用.功能强大等独特优势,逐渐成为网民访问网络资源的主要途径之一.    为了普及浏览器工具条在国内的应用,共同抵制恶意软件,同时激励全国网络爱好者的创作热情,由IE秀携手众多网络IT企业举办首届全国工具条设计大赛暨网上展览会.大赛为国内网络爱

全国信息水平第六届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;

亚信安全受邀出席第五届全国等保技术大会 “高级威胁发现调查取证“有效治理网络犯罪

近日,由公安部网络安全保卫局等有关部门指导.公安部第三研究所主办的"第五届全国信息安全等级保护技术大会"在云南昆明召开.亚信安全作为信息安全企业代表受邀参加本届大会,并以推动网络新技术和新应用下的信息安全等级保护制度深入发展为目标,携手职能部门.企业和用户,深入探讨网络犯罪治理工作中遇到的多重挑战与应对方法.大会上,亚信安全研发与业务发展总经理童宁发表主旨演讲.并全面展示了最新的自主可控研发成果--亚信安全高级威胁发现调查取证中心(CTIC). [童宁介绍"亚信安全高级威胁发

全国软件人才设计与开发大赛启动

本报讯 (记者左常睿)由工业和信息化部人才交流中心主办的"全国电子专业人才设计与技能大赛"和"全国软件专业人才设计与开发大赛"3月21日在北京大学正式启动. 全国电子专业人才设计与技能大赛包括五个比赛项目."国信蓝点杯"全国软件专业人才设计与开发大赛包括两个比赛项目,即"JAVA软件开发"和"C语言程序设计".作为大赛的承办单位和协办单位之一,北京大学软件与微电子学院承诺,两个大赛总决赛三等奖及以上的获奖选

第二届“中科杯”全国软件设计大赛启动

本报讯(实习生姜玲玲 记者雷宇)第二届"中科杯"软件设计大赛日前在中科院软件研究所启动. 该大赛面向中国大陆和港澳台所有在校学生,旨在"大力发展民族软件产业.培养创新型软件人才". 大赛每两年举办一届,本届是大赛第二届,时间从2011年4月到2011年9月底. 本届大赛由53位国内知名专家学者组成指导委员会,其中包括董韫美.倪光南等七位院士.北京大学.清华大学.中国科学院研究生院等56所全国重点高等院校的计算机相关学院协办大赛.