本文主要是介绍卧槽!perl和C语言实现对比,perl代码量太赞了!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
- 昨天收到朋友一个题目,让我实现一下,人家让我用
c语言
实现。 - 可是小编最近在学
Perl
,后来也用Perl实现了一下!
题目
- 输入一个字符串,请输出其中包含的最大整数
- 输入:abc123mm4567nn987xyz
- 输出:4567
C语言实现
#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 1000
/*
*str2nu:字符串转数字
* */
int str2num(char *str, int begin, int end){
int result = 0;
for(int i = end;i >= begin; i--) {
result += (str[i] - '0') * (int)pow(10, end - i);
}
return result;
}
int main(){
char str[MAX + 5];
scanf("%s",str);
int begin = 0, end = 0, max = -1;
//字符串遍历操作
for(int i = 0, len = strlen(str); i < len; i++){
if(str[i] <= '9' && str[i] >= '0'){
begin = i;
for(;str[i] >= '0' && str[i] <= '9';){ i++;}
end = i - 1;
int number = str2num(str, begin, end);
max = (number > max) ? number : max;
}else{
continue;
}
}
//判断输出
if(max == -1) {
printf("no digits exist!\n");
} else {
printf("max = %d\n",max);
}
return 0;
}
Perl实现
#!/usr/bin/perl
my @numbers;
while(<>){
push @numbers, split /\D+/,$_;
}
my @result = reverse sort{$a <=> $b} @numbers;
print $result[0]."\n";
后记
- 代码量惊不惊奇?
- 当然这两个代码肯定还有优化的方法!
- 但是,小编选择忽略,哈哈哈!
- 推荐一篇学习笔记,如下:
- 《Perl语言入门》学习笔记
这篇关于卧槽!perl和C语言实现对比,perl代码量太赞了!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!