版本号是版本的标识号。可以假设版号只含数字和字符’.’,字符’.’代表的不是小数点,只是用来分隔每个数字。现在的任务是,比较两个版本的版本号,输出较新的版本号。要求输入为两行。分别为两个版本号,不含空格。结果输出较新的版本号。请输出合理的C语言代码
时间: 2023-03-15 07:35:47 浏览: 107
#include<stdio.h>
int compareVersion(char* version1, char* version2) {
char *v1 = version1;
char *v2 = version2;
int v1_num, v2_num; while (*v1 || *v2) {
// get the version number
v1_num = 0;
while (*v1 && *v1 != '.') {
v1_num = v1_num * 10 + (*v1 - '0');
v1++;
}
v2_num = 0;
while (*v2 && *v2 != '.') {
v2_num = v2_num * 10 + (*v2 - '0');
v2++;
}
// compare versions
if (v1_num > v2_num)
return 1;
else if (v1_num < v2_num)
return -1;
else {
// move to the next number
if (*v1)
v1++;
if (*v2)
v2++;
}
}
return 0;
}int main() {
char version1[100], version2[100];
scanf("%s %s", version1, version2);
int result = compareVersion(version1, version2);
if (result == 1)
printf("%s\n", version1);
else if (result == -1)
printf("%s\n", version2);
else
printf("The versions are equal!\n");
return 0;
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)