100块钱都不给我
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
今天是广财的ACM周赛,小光来到广财实验楼,想来蹭一下素拓分(其实这场没有素拓分),突然发现前面赛场怎么有人在争吵?
旭能神:“我大老远跑来A题,拿了一血,100块钱都不给我”
“我抢劫你什么,我是抢劫的人吗?臭不要脸还在笑,100块钱都不给我”
。。。。。。
小光拨开人群,终于知道旭能神拿一血的题目是什么:
给定一个数,求它的绝对值。
Sample Output:
8
2
解题思路:这题有个陷阱,即负数的最小值的绝对值还要比最大值正数大1,直接使用abs会导致溢出,因此用字符串处理。长度开30位就够了,long long20位
1 #include<bits/stdc++.h>
2 using namespace std;
3 int main()
4 {
5 char s[30];
6 while(cin>>s){
7 if(s[0]!='-')cout<<s<<endl;
8 else{
9 for(int i=1;i<(int)strlen(s);++i)cout<<s[i];
10 cout<<endl;
11 }
12 }
13 return 0;
14 }