解题思路:
注意事项:
参考代码:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s;
cin>>s;
int len=s.size();
int x=1;
int sum=0;
for(int i=0;i<len-1;i++)
{
if(s[i]!='-')
{
sum=sum+(s[i]-'0')*x;
x++;
}
}
sum=sum%11;
if(sum==10)
{
char xx='X';
if(s[len-1]==xx) cout<<"Right"<<endl;
else
{
s[len-1]=xx;
cout<<s<<endl;
}
}
else
{
if(sum==(s[len-1]-'0'))
{
cout<<"Right"<<endl;
}
else
{
s[len-1]=char(sum+'0');
cout<<s<<endl;
}
}
}
0.0分
1 人评分
大佬看看我这个代码有啥问题,只能通过几个样例 int main() { string s,temp; while(cin>>s){ temp=s; for(int i=0;i<s.length();i++){ int index=s.find('-'); if(index!=-1) s.replace(index,1,""); //长度也在变化 亦可用s.erase(index,1)删除这个"-" } long num=stoi(s); int i=9,sum=0; int tag=num%10; num/=10; //去掉tag位不要 while(num>0){ int a=num%10; sum+=a*i; i--; num/=10; } if(sum%11==tag) cout<<"Right"<<endl; else{ string tag=to_string(sum%11); //转字符串 temp.replace(temp.length()-1,1,tag); //替换最后一位 cout<<temp<<endl; } } }
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
最长单词 (C语言代码)浏览:1474 |
Pascal三角 (C语言代码)格式错误浏览:550 |
【偶数求和】 (C语言代码)浏览:674 |
printf基础练习2 (C语言代码)浏览:690 |
简单的a+b (C语言代码)浏览:878 |
幸运数 (C++代码)浏览:1309 |
核桃的数量 (C语言代码)浏览:726 |
简单的a+b (C语言代码)浏览:574 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1968 |