程序的哪些部分运行最耗时?怎么有效观察并缩短程序运行时间?

比如下面这道题,要求1s,但我的代码用时1.5s左右。大佬们想借这道题说,或者直接上干货,分享下关于缩短时间的窍门,我都万分感激!

题目描述
比较字符串大小,但比较的规则不同字典序规则。字符比较新规则如下:A < a < B < b < ………… < Z < z。

输入
输入数据包含多个测试实例,每个测试实例占两行,每一行有一个字符串(只包含大小写字母, 长度小于10000)。

输出
如果第一个字符串小于第二个,输出YES,否则,输出NO。
注意:A < a < B < b < ………… < Z < z。

样例输入 Copy
abc
Bbc
Ab
a
ABcef
ABce

样例输出 Copy
YES
YES
NO
我的代码:(超级笨的方法)(应该是对的)


#include<stdio.h>
#include<string.h>
int main()
{
    char fa[10000],fb[10000],ch,dh;
    double a,b;
    int i,loa,lob,t;
    while(1)
    {
        memset(fa,'\0',sizeof(fa));
        memset(fb,'\0',sizeof(fb));//归零
        scanf("%s%s",&fa,&fb);
        loa=strlen(fa);
        lob=strlen(fb);
        t=(loa>lob?loa:lob);//t为较大值
        for(i=0;i<t;i++)
        {
            ch=fa[i],dh=fb[i];
            if(ch>='a'&&ch<='z')
                a=ch-31.5;
            else a=ch;
            if(dh>='a'&&dh<='z')
                b=dh-31.5;
            else b=dh;
            if(a==b)
                continue;
            if(a>b)
            {
                printf("NO\n");
                break;
            }
            else
            {
                printf("YES\n");
                break;
            }
        }
    }
    return 0;
}