虽然是水提,但是对于俺这种小菜来说,还是需要去总结一下的,其实这道题开始时,并不是很明白,然后再题目的帮助下,还是看懂了,首先来说这道题有一些值得我学习的地方,首先对于输入的数字的范围,是在0----999999999,这个首先可以说是超出了2^32因此这是需要使用是长整形,或者是int64,而对于数字来说,这个说。64int的定义首先我们的先了解一下包括,输入输出,定义是__64int x; scanf("%I64d",&x); printf("%I64d",x);首先输入的是两个下划线,而输入输出的形式是大I,而不是l,因此,没了
1 #include <stdio.h> 2 #include < string.h> 3 4 int main() 5 { 6 int n,con,i; 7 __int64 x; 8 9 scanf( " %d ",&n); 10 11 while(n--) 12 { 13 scanf( " %I64d ",&x); 14 con = 0; 15 while(x > 10) 16 { 17 if(x % 10 > 4) 18 x += 10; 19 x /= 10; 20 con++; 21 } 22 for(i = 0 ;i < con; i++) 23 x *= 10; 24 printf( " %I64d\n ",x); 25 26 27 28 } 29 30 return 0;31 }
转载于:https://www.cnblogs.com/yelcoved/archive/2013/02/26/2933419.html
