wojiaocbj

Untitled

May 21st, 2022
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.94 KB | None | 0 0
  1. /*
  2.  Author: 曹北健(37509)
  3.  Result: AC Submission_id: 4471391
  4.  Created at: Fri May 20 2022 11:17:07 GMT+0800 (China Standard Time)
  5.  Problem: 5783  Time: 1 Memory: 1628
  6. */
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <math.h>
  11. #include <string.h>
  12. #include <ctype.h>
  13. #pragma warning(disable:4996)
  14. typedef long long s64, LL;
  15. typedef unsigned long long u64, ULL;
  16. typedef const void *cvp;
  17. int main(){
  18. #ifdef _DEBUG
  19.     FILE *fp = freopen("../../../input.txt", "r", stdin);
  20.     //FILE *fp2 = freopen("../../../output.txt", "w", stdout);
  21. #endif // _DEBUG
  22.     char input[128] = { 0 }, tmp[128] = { 0 }, tmp2[128] = { 0 };
  23.     int dot = 0, alpha = 0, i, num;
  24.     LL s;
  25.     while(fgets(input, 128, stdin)){
  26.         alpha = 0;
  27.         dot = 0;
  28.         num = 0;
  29.         for(i = 0; input[i]; i++){
  30.             if(isalpha(input[i])){
  31.                 alpha = 1;
  32.                 break;
  33.             }
  34.             else if(input[i] == '.'){
  35.                 dot++;
  36.             }
  37.             else if(isdigit(input[i])){
  38.                 num++;
  39.             }
  40.         }
  41.         //INT_MAX;//2147483647
  42.         if(alpha || (dot >= 2) || !num){
  43.             puts("string");
  44.         }
  45.         else{
  46.             if(dot == 1){
  47.                 puts("double");
  48.             }
  49.             else{
  50.                 sscanf(input, "%lld", &s);
  51.                 sscanf(input, "%s", tmp2);
  52.                 sprintf(tmp, "%lld", s);
  53.                 if(strcmp(tmp, tmp2)){
  54.                     puts("string");
  55.                 }
  56.                 else{
  57.                     if(s <= 2147483647ll && s >= -2147483648ll){
  58.                         puts("int");
  59.                     }
  60.                     else{
  61.                         puts("long long");
  62.                     }
  63.                 }
  64.             }
  65.         }
  66.     }
  67. #ifdef _DEBUG
  68.     fp = freopen("CON", "r", stdin);
  69.     //fp2 = freopen("CON", "w", stdout);
  70.     system("pause");
  71. #endif // _DEBUG
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment