#2709: 測資?

Unknown User

d533. 複數比大小 -- by fuho | From: [59.114.241.248] | 發表日期 : 2009-11-14 20:53

怪怪

用int還會對兩筆

用double後全錯了...

 

#include <stdio.h>
#include <math.h>
#define TINY 0.00000001

int main () {

    double n, a, b, c, d;
    while (scanf("%d", &n) != EOF) {
        while (n--) {
            scanf("%lf%lf%lf%lf", &a, &b, &c, &d);

            if (fabs(b) < TINY && fabs(d) < TINY) {
                if (a > c) {
                    puts(">");
                }
                if (a == c) {
                    puts("=");
                }
                if (a < c) {
                    puts("<");
                }
            }
            else {
                puts("No");
            }
        }
    }
    return 0;    
}

 
#2712: Re:測資?

Unknown User

d533. 複數比大小 -- by fuho | From: [219.70.181.95] | 發表日期 : 2009-11-14 23:01

怪怪

用int還會對兩筆

用double後全錯了...

 

#include
#include
#define TINY 0.00000001

int main () {

    double n, a, b, c, d;
    while (scanf("%d", &n) != EOF) {
        while (n--) {
            scanf("%lf%lf%lf%lf", &a, &b, &c, &d);

            if (fabs(b) < TINY && fabs(d) < TINY) {
                if (a > c) {
                    puts(">");
                }
                if (a == c) {
                    puts("=");
                }
                if (a < c) {
                    puts("<");
                }
            }
            else {
                puts("No");
            }
        }
    }
    return 0;    
}



大數比較全弄進去了還是錯是怎樣..

#include <iostream>
#include <string>
int zero(char*,char*);
int com(char*,char*);
int main()  
{  
    char a[10000],b[10000],c[10000],d[10000];
    int n;
    while(scanf("%d",&n)==1)
    while(n--)
    {
        scanf("%s%s%s%s",&a,&b,&c,&d);
        if(zero(b,d)){printf("NO\n");continue;}
        int x=com(a,c);
        if(x==1)printf("<");
        else if(x==2)printf(">");
        else printf("=");
        printf("\n");
    }
    return 0;
}
int com(char *a,char *b)
{
    int x=0,y=0,i,m=strlen(a),n=strlen(b);
    for(x=0;x<m&&a[x]!='.';x++);
    for(y=0;y<n&&b[y]!='.';y++);
    if(a[0]=='-'||b[0]=='-')
    {
        if(a[0]!='-')
        return 2;
        else if(b[0]!='-')
        return 1;
        if(x<y)return 2;
        if(x>y)return 1;
        for(i=1;i<x;i++)
        {
            if(a[i]>b[i])return 1;
            if(a[i]<b[i])return 2;
        }
        if(x==m)return 0;
        for(i=x+1;i<m&&i<n;i++)
        {
            if(a[i]>b[i])return 1;
            if(a[i]<b[i])return 2;
        }
        if(m>n)
        {
            for(i=n;i<m;i++)
            if(a[i]!=0)return 1;
        }
        if(m<n)
        {
            for(i=m;i<n;i++)
            if(b[i]!=0)return 2;
        }
        return 0;
    }
    if(x>y)return 2;
    if(x<y)return 1;
    for(i=0;i<x;i++)
    {
        if(a[i]>b[i])return 2;
        if(a[i]<b[i])return 1;
    }
    if(x==m)return 0;
    for(i=x+1;i<m&&i<n;i++)
    {
        if(a[i]>b[i])return 2;
        if(a[i]<b[i])return 1;
    }
    if(m>n)
    {
        for(i=n;i<m;i++)
        if(a[i]!=0)return 2;
    }
    if(m<n)
    {
        for(i=m;i<n;i++)
        if(b[i]!=0)return 1;
    }
    return 0;
}
int zero(char* a,char*b)
{
    int x=0,y=0,i,m=strlen(a),n=strlen(b);
    for(x=0;x<m&&a[x]!='.';x++);
    for(y=0;y<n&&b[y]!='.';y++);
    if(a[0]=='-'||b[0]=='-')
    {
        if(a[0]!='-')
        return 1;
        else if(b[0]!='-')
        return 1;
        if(x<y)return 1;
        if(x>y)return 1;
        for(i=1;i<x;i++)
        {
            if(a[i]>b[i])return 1;
            if(a[i]<b[i])return 1;
        }
        if(x==m)return 0;
        for(i=x+1;i<m&&i<n;i++)
        {
            if(a[i]>b[i])return 1;
            if(a[i]<b[i])return 1;
        }
        if(m>n)
        {
            for(i=n;i<m;i++)
            if(a[i]!=0)return 1;
        }
        if(m<n)
        {
            for(i=m;i<n;i++)
            if(b[i]!=0)return 1;
        }
        return 0;
    }
    if(x>y)return 1;
    if(x<y)return 1;
    for(i=0;i<x;i++)
    {
        if(a[i]>b[i])return 1;
        if(a[i]<b[i])return 1;
    }
    if(x==m)return 0;
    for(i=x+1;i<m&&i<n;i++)
    {
        if(a[i]>b[i])return 1;
        if(a[i]<b[i])return 1;
    }
    if(m>n)
    {
        for(i=n;i<m;i++)
        if(a[i]!=0)return 1;
    }
    if(m<n)
    {
        for(i=m;i<n;i++)
        if(b[i]!=0)return 1;
    }
    return 0;
}

 
#2713: Re:測資?


fuho (~)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 1488
來源 : [125.228.43.155]
最後登入時間 :
2023-01-31 09:52:22
d533. 複數比大小 -- by fuho | From: [122.116.162.36] | 發表日期 : 2009-11-14 23:01

 

 double n, a, b, c, d;

 while (scanf("%d", &n) != EOF) {

 

這樣當然全錯阿orz

不過就算改成int n;以後還是只對兩筆

 

 
#2714: Re:測資?


fuho (~)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 1488
來源 : [125.228.43.155]
最後登入時間 :
2023-01-31 09:52:22
d533. 複數比大小 -- by fuho | From: [122.116.162.36] | 發表日期 : 2009-11-14 23:02

這題不用用到大數~

 

 

 
#2716: Re:測資?

Unknown User

d533. 複數比大小 -- by fuho | From: [219.70.181.95] | 發表日期 : 2009-11-14 23:36

這題不用用到大數~

 

 


問題在哪呢..?還是錯2筆

白爛的測資指的是..?

#include <iostream>
int main()  
{  
    double a,b,c,d;
    int n;
    while(scanf("%d",&n)==1)
    while(n--)
    {
        scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
        if(b!=d){printf("NO\n");continue;}
        if(a<c)printf("<");
        else if(a>c)printf(">");
        else printf("=");
        printf("\n");
    }
    return 0;
}

 
#2720: Re:測資?


fuho (~)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 1488
來源 : [125.228.43.155]
最後登入時間 :
2023-01-31 09:52:22
d533. 複數比大小 -- by fuho | From: [122.116.162.36] | 發表日期 : 2009-11-15 00:19

if(b!=d){printf("NO\n");continue;}

 

NO != No

 
#2812: Re:測資?


eric22255 (小民 Eric (其實我也有路人的身分XD))

學校 : 高雄市立高雄高級中學
編號 : 8124
來源 : [150.117.14.109]
最後登入時間 :
2022-06-08 00:06:14
d533. 複數比大小 -- by fuho | From: [219.69.118.224] | 發表日期 : 2009-11-21 21:49

if(b!=d){printf("NO\n");continue;}

 

NO != No

拜託各位大大

範圍寫的是"值"而不是"位數"

怎麼搞成大數呢?

還有測資果然白爛這我承認XD

 
#20467: Re:測資?


yes51851823@gmail.com (wseds)

學校 : 國立花蓮高級工業職業學校
編號 : 108813
來源 : [36.227.245.149]
最後登入時間 :
2024-04-16 01:11:16
d533. 複數比大小 -- by fuho | From: [114.37.235.103] | 發表日期 : 2020-01-28 00:01

double n, a, b, c, d;

while (scanf("%d", &n) != EOF) {



%d是用來輸入整數的,要輸入浮點數要用%f

而且這題沒大數

 
ZeroJudge Forum