# include <stdio.h>
int compareVersion(char *version1, char *version2);
int main()
{
int rst = 0;
char ver1[101];
char ver2[101];
scanf("%s %s", ver1, ver2);
rst = compareVersion(ver1, ver2); //goal function
switch (rst)
{
case 0:
printf("The same version.");
break;
case 1:
printf("%s is the new version.", ver1);
break;
case -1:
printf("%s is the new version.", ver2);
break;
default:
printf("invalid!");
break;
}
return 0;
}
int compareVersion(char *version1, char *version2){
int i,j,len;
for(i=0,j=0;i<strlen(version1)&&j<strlen(version2);){
int v1=0,v2=0;
while(i<strlen(version1)&&version1[i]!='.'){
v1=v1*10+(version1[i]-'0');
++i;
}
++i; //小数点所占位
while(j<strlen(version2)&&version2[j]!='.') {
v2=v2*10+(version2[j]-'0');
++j;
}
++j; //小数点占位
if(v1>v2){
return 1;
}
if(v1<v2){
return -1;
}
}
return 0;
}
图片是我加了printf的输出,它从花圈的那里不懂为什么就这样了。