1. 程式人生 > >譚浩強 C紅寶書 第六章 第14題

譚浩強 C紅寶書 第六章 第14題

兩個字串用gets函式讀入。輸出的正數或者負數的絕對值應是相比較的兩個字串相應字元的ASCII碼的差值。例如“A”與“C”相比,由於“A” < “C”,應該輸出負數,由於“A”與”C”的ASCII嘛差值為2,因此應該輸出“-2”。同理:“And”和“Aid”比較,根據第二個字元比較的結果,”n”比”i”大5,因此輸出5

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[40],str2[40];
    int len1,len2,i,sum=0;   
    gets(str1);
    gets(str2);
    len1=strlen(str1);                 //取字元陣列str1的長度,稍後進行比較,作為迴圈的次數
    len2=strlen(str2);                 //取字元陣列str2的長度,稍後進行比較,作為迴圈的次數
    if(len1>=len2)  
    {
        for(i=0;i<=len1;i++)          
        {
            sum+=str1[i]-str2[i];     //直接進行加減,電腦會自動將其轉化成為ASCII碼
        }
    }
    else
    {
        for(i=0;i<=len2;i++)
        {
            sum+=str2[i]-str1[i];
        }
    }
    printf("%d",sum);
}