UVA 10424
爱的计算,把两个人的名字中的各个字母分别对应1到26,并相加,分别记和,最后二人和的比就是爱的结果,注意这个结果不超过100%
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<stdio.h> 2 #include<string.h> 3 void zhuanhua(char *s)//把大写改成小写 4 { 5 while(*s) 6 { 7 if((*s)>='A'&&(*s)<='Z') 8 { 9 (*s)=(*s)+32; 10 } 11 s++; 12 } 13 } 14 int main() 15 { 16 float ans; 17 int i,temp,a,b,as,bs; 18 char name[30],y[2]; 19 while(gets(name)) 20 { 21 a=b=as=bs=0; 22 zhuanhua(name); 23 for(i=0;name[i]!='\0';i++) 24 if(name[i]>='a'&&name[i]<='z') 25 a+=name[i]-96; 26 do{ 27 as=0; 28 while(a/10>0) 29 { 30 as+=a%10; 31 a/=10; 32 } 33 as+=a; 34 a=as; 35 }while(as>9);//把二位数以上的逐个相加,直到变成一位数 36 gets(name); 37 zhuanhua(name); 38 for(i=0;name[i]!='\0';i++) 39 if(name[i]>='a'&&name[i]<='z') 40 b+=name[i]-96; 41 do{ 42 bs=0; 43 while(b/10>0) 44 { 45 bs+=b%10; 46 b/=10; 47 } 48 bs+=b; 49 b=bs; 50 }while(bs>9); 51 if(as>bs) 52 { 53 temp=as; 54 as=bs; 55 bs=temp; 56 } 57 ans=(float)as/(float)bs;//强制转换 58 if(ans>=1.00) 59 ans=1.00; 60 ans*=100;//化为百分比 61 printf("%.2f %%\n",ans); 62 } 63 return 0; 64 }