蓝桥杯· 格式化许可证密钥 知识点:字符串 两遍过

65 阅读1分钟

0格式化许可证密钥 - 蓝桥云课 (lanqiao.cn)

思想

从后往前k个一组k个一组,满k个就用'-'分隔 ,最后还剩多少都归最后一组,然后把答案反转一下就可以了:

#include<bits/stdc++.h>
using namespace std;

int main() 
{
     string s;cin>>s;
     int k;cin>>k;
	  
	  int len=0;
      string ans;
	  for(int i=s.size()-1;i>=0;i--) 
    {
      if(s[i]=='-')continue;
      if (s[i] >= 'a' && s[i] <= 'z')s[i]-=32;
	  	
			ans+=s[i]; len++;	
			
		if(len%k==0&&i!=0)   	  	
    {
      	ans+='-';
		}
	  
	} 
	  
reverse(ans.begin(),ans.end());
cout<<ans<<endl;

return 0;
}