《取相反数》
为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.
using namespace std;
int n;
int main() {
cin >> n;
int cn = 0;
int x = n;
while(x) {
cn = cn * 10 + x % 10;
x /= 10;
}
cout << n + cn << endl;
return 0;
}
《字符串碎片》
一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。
#include<iostream>
#include<iomanip>
#include<string.h>
#include<stdlib.h>
using namespace std;
int main()
{
string str;
cin>>str;
char c=str[0];
int flag=1;
for(int i=0; i<str.length(); i++)
{
if(c==str[i])
;
else
{
flag++;
c=str[i];
}
}
float avg=(float)str.length()/flag;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<avg<<endl;
}
网友评论