注册 登录
编程论坛 C语言论坛

C系列 字符串比较问题

t17 发布于 2023-09-08 12:18, 452 次点击
Description
zhengling知道很多生活小常识,比如如果我们是一个班的,那么我们手机号前面的几位数字一定是相同的,并且我们的电话号码长度是一样的。

Input
输入N,表示有N个同学,接下来输入N行字符串表示每个同学的手机号。其中N<30,所有手机号码数据长度小于30。

Output
假设所有N同学都是一个班的,请输出他们的手机号前面到底有多少位是相同的。

Samples
input
4
00209
00219
00999
00909
output
2
1 回复
#2
rjsp2023-09-08 12:58
程序代码:
#include <stdio.h>
#include <string.h>

int main( void )
{
    unsigned n;
    scanf( "%u", &n );

    char result_prefix[30];
    scanf( "%s", result_prefix );

    for( unsigned i=1; i!=n; ++i )
    {
        char buf[30];
        scanf( "%s", buf );

        for( size_t j=0; result_prefix[j]; ++j )
        {
            if( result_prefix[j] != buf[j] )
                result_prefix[j] = '\0';
        }
    }

    printf( "%zu\n", strlen(result_prefix) );
}
1