输入输出挂

来源:互联网 发布:淘宝爱护佳腰带 编辑:程序博客网 时间:2024/04/29 06:31

昨晚做一道题,本来想暴力剪枝来着,剪枝没法减了还过不了,去学习了一下输入输出挂,结果还是过不了,事实证明是自己算法比较渣,还有没有掌握熟练"合理估计问题复杂度"的知识,不过还是写一下输入输出挂吧,万一以后用得到呢~~~

纯整数输入输出挂

#include <stdio.h>bool scan_d(int &num)//输入整型{        char in;bool IsN=false;        in=getchar();        if(in==EOF) return false;        while(in!='-'&&(in<'0'||in>'9')) {            if(in==EOF)                return false;            in=getchar();        }        if(in=='-'){ IsN=true;num=0;}        else num=in-'0';        while(in=getchar(),in>='0'&&in<='9'){                num*=10,num+=in-'0';        }        if(IsN) num=-num;        return true;} bool scan_lf(double &num)//输入double型{        char in;double Dec=0.1;        bool IsN=false,IsD=false;        in=getchar();        if(in==EOF) return false;        while(in!='-'&&in!='.'&&(in<'0'||in>'9'))                in=getchar();        if(in=='-'){IsN=true;num=0;}        else if(in=='.'){IsD=true;num=0;}        else num=in-'0';        if(!IsD){                while(in=getchar(),in>='0'&&in<='9'){                        num*=10;num+=in-'0';}        }        if(in!='.'){                if(IsN) num=-num;                return true;        }else{                while(in=getchar(),in>='0'&&in<='9'){                        num+=Dec*(in-'0');Dec*=0.1;                }        }        if(IsN) num=-num;        return true;}void print_d(int num)//输出整型{    bool flag = false;    if(num < 0) {        putchar('-');        num = -num;    }    int ans[10], top = 0;    while(num != 0) {        ans[top++] = num%10;        num /= 10;    }    if(top == 0) putchar('0');    for(int i = top-1; i >= 0; i--) {        char ch = ans[i] + '0';        putchar(ch);    }}int main(){    int i,j;    int a[1000];    double b[1000];    int n;    while(scan_d(n)){        for(i=1;i<=n;i++)            scan_d(a[i]);        for(i=1;i<=n;i++)            scan_lf(b[i]);        for(i=1;i<=n;i++){            print_d(a[i]);            putchar(' ');        }        putchar('\n');        for(i=1;i<=n;i++){            printf("%lf",b[i]);            putchar(' ');        }        putchar('\n');    }    return 0;}

1 0
原创粉丝点击