Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- name=$1
- gcc pick-up.c -o pick-up.out
- ./pick-up.out $name
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- int main(int argc, char *argv[]) {
- freopen(argv[1], "r", stdin);
- freopen("file.data", "w", stdout);
- char str[20], tmp[20], file1[50];
- int sum, len, i, idx, cnt;
- int a1[10], num1 = 0, num2 = 0, ans1 = 0, num = 0;
- double a2[10], ans2 = 0;
- while(scanf("%s", str) != EOF) {
- len = strlen(str);
- sum = 0;
- cnt = 0;
- idx = -1;
- for(i = 0; i < len; ++i) {
- if(str[i] > '0' && str[i] <= '9') {
- sum = sum * 10 + str[i] - '0';
- ++cnt;
- }
- else if(str[i] == '.')
- idx = cnt;
- else if(i || (i == 0 && str[i] != '-')) {
- file1[num++] = str[i];
- }
- }
- if(idx == -1) {
- a1[++num1] = sum;
- if(str[0] == '-')
- a1[num1] = -a1[num1];
- }
- else {
- a2[++num2] = sum * 1.0;
- for(i = 1; i <= cnt - idx; ++i)
- a2[num2] /= 10;
- if(str[0] == '-')
- a2[num2] = -a2[num2];
- }
- }
- for(i = 1; i <= num1; ++i)
- printf("%d ", a1[i]);
- for(i = 1; i <= num2; ++i)
- printf("%lf ", a2[i]);
- freopen("file.string", "w", stdout);
- file1[num++] = '\0';
- printf("%s", file1);
- return 0;
- }
Add Comment
Please, Sign In to add comment