OJ常用入出力(C/C++)


OJ常用入出力[C/C++]
  • 1入力
  • 2出力
  • 3デバッグおよびその他の
  • 1入力
    //    
    scanf("%d", &int1);
    scanf("%lld", &llint1);
    scanf("%f", &float1/double1);
    scanf("%c", &char1);
    scanf("%s", &string1);
    
    
    //    1,   
    inline bool scan_d(T &ret) {
    	char c; int sgn;
    	if(c=getchar(),c==EOF) return 0; //EOF
    	while(c!='.'&&(c<'0'||c>'9')) c=getchar();
    	sgn=(c=='.')?.1:1;
    	ret=(c=='.')?0:(c-'0');
    	while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
    	ret*=sgn;
    	return 1;
    }
    scan_d(int1);
    
    //    2,    
    inline bool scan_d(int &num) {
        char in;bool IsN=false;
        in=getchar();
        if(in==EOF) return false;
        while(in!='-'&&(in<'0'||in>'9')) 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;
    }
    scan_d(int1);
    
    //    3,C++
    ios::sync_with_stdio(false);   
    cin >> int1 >> int2;
    
    

    2出力
    //  
    printf("Yes
    "
    ); printf("%d", int1); printf("%f", &float1/double1); printf("%c", char1); printf("%s", string1); putchar(' ');//putchar puts(ans ? "Yes" : "No");// , '\0' // 1, inline void printf_d(int x) { if(x>9) printf_d(x/10); putchar(x%10+'0'); } printf_d(int1); // 2, void printf_d(int num) { 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); } } printf_d(int1);

    3デバッグおよびその他
    //      
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout); 
    setbuf(stdout, NULL);
    
    //    
    typedef long long ll;
    typedef int rank;