1 条题解
-
0
C :
#include<stdio.h> #include<math.h> #include<string.h> struct ppppp { int sum; int k; } su[9999]; int main () { for(int i=0; i<9999; i++) su[i].sum=0; char p[999999]; scanf("%s",p); int n=strlen(p); p[n]='*'; int sum=0; int j=0; int flag=0,k; for(int i=0; i<=n; i++) { if(p[i]>='0'&&p[i]<='9') { if(flag==0) { flag=1; k=i+1; sum=sum+p[i]-'0'; su[j].k=k; } else { sum=sum*10+p[i]-'0'; } } else { if(sum!=0) { su[j].sum=sum; j++; sum=0; flag=0; } else { sum=0; flag=0; } } } int maxx=-100; for(int i=0; i<j; i++) { if(su[i].sum>maxx) { maxx=su[i].sum; k=su[i].k; } } printf("%d",k); return 0; }C++ :
#include <iostream> #include <cstring> using namespace std; int main(){ char s[1000]; char w[1000]; char f[1000] = {'\0'}; gets(s); int i,j,k = 0,max = 0; for (i = 0;i < strlen(s);i++){ if (s[i] >= '0' && s[i] <= '9'){ w[k] = s[i]; k++; if (i == strlen(s) - 1 || s[i + 1] < '0' || s[i + 1] > '9'){ w[k] = '\0'; j = i - strlen(w) + 1; //cout<<w<<" "<<j<<endl; if (strlen(w) > strlen(f)){ strcpy(f,w); max = j + 1; }else if (strlen(w) == strlen(f) && strcmp(w,f) > 0){ strcpy(f,w); max = j + 1; } k = 0; } } } cout<<max; }Pascal :
var s:string; a:array[1..255,1..2] of longint; n,i,j,k,l:longint; begin readln(s); k:=1; for i:=1 to length(s) do begin j:=i; while(ord(s[j])<=ord('9')) and(ord(s[j])>=ord('0')) do begin a[k,1]:=a[k,1]*10+ord(s[j])-ord('0'); inc(j); end; if a[k,1]>0 then a[k,2]:=i; inc(k); end; k:=0; for i:=1 to 255 do if a[i,1]>k then begin k:=a[i,1]; l:=a[i,2]; end; writeln(l); end.Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String str2 = str.replaceFirst("[^0-9]+", ""); String str3 = str2.replaceAll("[^0-9]+", " "); String[] nums = str3.split(" "); int[] number = new int[nums.length]; int max = 0; for (int i = 0; i < nums.length; i++) { number[i] = Integer.parseInt(nums[i]); if(number[i] > max) max = number[i]; } String maxstr = String.valueOf(max); System.out.println(str.indexOf(maxstr) + 1); } }Python :
str1=input() max = "0" # 存储值最大的数字 string = "" # 将连续的数字拼接起来 for i in range(1,len(str1)) : if str1[i-1].isdigit(): string += str1[i-1] else: if string == "": continue; elif int(string) > int(max): max = string string = "" print(str1.find(max) + 1)
- 1
信息
- ID
- 108
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者