C语言 - ACM题目:软件版本问题

来源:互联网 发布:刺客信条起源优化好吗 编辑:程序博客网 时间:2024/06/04 18:33
题目描述    相信大家一定有过在网上下载软件而碰到多个不同版本的情况。一般来说,软件的版本号由三个部分组成,主版本号(Major Version Number),子版本号(Minor Version Number)和修订号(Revision_Number)。当软件进行了重大的修改时,主版本号加一;当软件在原有基础上增加部分功能时,主版本号不变,子版本号加一;当软件仅仅修正了部分bug时,主版本号和子版本号都不变,修正号加一。在我们比较软件的两个版本的新旧时,都是先比较主版本号,当主版本号相同时再比较子版本号,前两者都相同的情况下再比较修正号。版本号越大的软件越新。现在,小明在下载软件的时候碰到了两个版本,请你告诉他哪个版本更新一些。输入格式    输入的第一行有一个整数T,代表有T组测试。接下来有T组测试。每组测试分两行,第一行有三个整数代表第一个软件版本的主版本号,子版本号和修订号。第二行也有三个整数代表第二个软件版本的主版本号,子版本号和修订号。数据中出现的整数都在[0,1000]范围之内。输出    对于每组测试,如果第一个软件的版本新点,请输出First,如果第二个软件的版本新点,请输出Second,否则输出Same。样例输入31 1 01 1 11 1 11 1 01 1 11 1 1样例输出SecondFirstSame
// 自己写的第一个版本#include <stdio.h>int main(){  int t, a[6], i;  scanf("%d", &t);  while(t--)  {    i = 6;  while(i--)      scanf("%d", &a[i]);   for(i=0; i<3; i++)    {      if(a[i]>a[i+3]){printf("First\n");break;}      else if(a[i]<a[i+3])      {printf("Second\n");break;}      else      {printf("Same\n");break;}    }  }}
// 自己写的第二个版本#include <stdio.h>int main(){int t, a[6], i;scanf("%d", &t);while(t--){i = 6;while(i--)scanf("%d", &a[i]);if (a[0] > a[3])printf("First\n");else if( a[0] < a[3] )printf("Second\n");else if(a[1] > a[4])printf("First\n");else if (a[1] < a[4])printf("Second\n");else if(a[2] > a[5])printf("First\n");else if(a[2] < a[5])printf("Second\n");elseprintf("Same\n");}}
// 看过答案后,自己写的第三个版本#include <stdio.h>int main(){int t, a[6], i;scanf("%d", &t);while(t--){i = 6;while(i--)scanf("%d", &a[i]);if (a[0] > a[3])printf("First\n");else if( a[0] < a[3] )printf("Second\n");else{if(a[1] > a[4])printf("First\n");else if (a[1] < a[4])printf("Second\n");else{if(a[2] > a[5])printf("First\n");else if(a[2] < a[5])printf("Second\n");elseprintf("Same\n");}}}}
// 答案标版#include<stdio.h>int main(){        int t,i,a[3],b[3];        scanf("%d",&t);        while(t--)        {                for(i=0;i<3;i++)                        scanf("%d",&a[i]);                for(i=0;i<3;i++)                        scanf("%d",&b[i]);                if(a[0]>b[0])                        printf("First\n");                else if(a[0]<b[0])                        printf("Second\n");                else                {                        if(a[1]>b[1])                                printf("First\n");                        else if(a[1]<b[1])                                printf("Second\n");                        else                        {                                if(a[2]>b[2])                                        printf("First\n");                                else if(a[2]<b[2])                                        printf("Second\n");                                else                                        printf("Same\n");                        }                }        }        return 0;}

原创粉丝点击