C语言编写程序进行年龄比较

Description

给出甲、乙两人的生日(年月日)。请比较两人的年龄,谁较年长。

Input

单测试用例。

两行,第一行是三个正整数,表示甲的生日(年 月 日);

第二行也是三个正整数,表示乙的生日(年 月 日)。

本题的日期全部符合现实情况,保证没有不存在的日期。

Output

如果甲比乙年龄大,输出 older ,如果同年同月同日,输出 same ,如果乙比甲年龄大,输出 younger 。
#include<stdio.h>
int main()
{
int a,b,c;
int x,y,z;
scanf("%d%d%d",&a,&b,&c);
scanf("%d%d%d",&x,&y,&z);
if(a>x)
printf("younger");
if(x>a)
printf("older");
if(x=a){
if(b>y)
printf("younger");
if(y>b)
printf("older");
if(y=b){
if(c>z)
printf("younger");
if(c<z)
printf("older");
if(c=z)
printf("same");
}
}
return 0;
}

这个程序哪里错了?

判断需要用==

你只用了一个等于号

#include<stdio.h>
int main()
{
    int a,b,c;
    int x,y,z;
    scanf("%d%d%d",&a,&b,&c);
    scanf("%d%d%d",&x,&y,&z);
    if(a>x)
        printf("younger");
    if(x>a)
        printf("older");
    if(x==a){
        if(b>y)
            printf("younger");
        if(y>b)
            printf("older");
        if(y==b){
            if(c>z)
                printf("younger");
            if(c<z)
                printf("older");
            if(c==z)
                printf("same");
        }
    }
    return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-05
#include<stdio.h>

typedef struct birthday {
int year;
int month;
int day;
}BIRTH;

int compare(BIRTH a,BIRTH b) {
if(a.year > b.year) return 0;//yong
else if(a.year < b.year) return 2;//older
else { //a.year == b.year
if(a.month > b.month) return 0;//yong
else if(a.month < b.month) return 2;//older
else {//a.year == b.year && a.month == b.month
if(a.day > b.day) return 0;//yong
else if(a.day < b.day) return 2;//older
else return 1;//same
}
}
}

int main() {
int index,T;
char result[][10] = {"yong","same","older"};
BIRTH a,b;
printf("T = ");
scanf("%d",&T);
while(T--) {
printf("a.year = ");
scanf("%d",&a.year);
printf("a.month = ");
scanf("%d",&a.month);
printf("a.day = ");
scanf("%d",&a.day);
printf("b.year = ");
scanf("%d",&b.year);
printf("b.month = ");
scanf("%d",&b.month);
printf("b.day = ");
scanf("%d",&b.day);
index = compare(a,b);
printf("%s\n",result[index]);
}
return 0;
}

第2个回答  2017-01-05
首先,if(x=a)是不对的,你要用if(x==a),是两个“=”。

其次,if(a>x) 是不是应该 printf("older");,而不是"younger"?
相似回答