试题描述
请定义一个表示电话号码的结构体类型。
电话号码包含区号(最多4位)和区内电话号码(最多8位)。在一个区内的电话号码之间互相拨号时,不拨区号,否则必须先拨区号。
在主函数中,输入任意两个电话号码A和B(区号和区内号码之间使用一个空格隔开),输出A给B打电话时拨的号码。
输入
输入包含两行,分别是电话号码A和B。区号和区内号码之间使用一个空格隔开。
输出
输出A给B打电话时拨的号码。
输入示例1
0432 87654321
0897 61234567
输出示例1
089761234567
输入示例2
0432 87654321
0432 61234567
输出示例2
61234567
分析:该问题因为存在很多情况 区号首字母为零,所以用字符串解决该问题较为方便。
代码如下:
#include <stdio.h>
#include<string.h>
struct number
{
char qu[5];
char phone[9];
}number_A,number_B;
int main()
{
scanf("%s%s",&number_A.qu,&number_A.phone);
scanf("%s%s",&number_B.qu,&number_B.phone);
if(strcmp(number_A.qu,number_B.qu)) printf("%s""%s",number_B.qu,number_B.phone);
else printf("%s",number_B.phone);
}
注意在进行字符串比较时 strcmp()方法的的返回值。
感谢机自2111-2113同学提出的问题~