谭浩强 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);
}

猜你喜欢

转载自blog.csdn.net/qq_42766201/article/details/83753768