希望更丰富的展现?使用Markdown
by ニヒル @ 2019-02-20 10:59:28
```
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[13];
int b = 0 ,k=0;
//char c=0;
//int i;
scanf("%s", a);
b = (a[0]-'0') * 1 + (a[2]-'0') * 2 + (a[3]-'0') * 3 + (a[4] - '0') * 4 +( a[6] - '0') * 5 + (a[7] - '0') * 6 +( a[8] - '0') * 7 + (a[9] - '0') * 8 + (a[10] - '0') * 9;
if (a[12]-'0' == b % 11)
{
printf("%s", "Right");
}
else if (a[12] == 'X'&&b % 11 == 10)
{
printf("%s", "Right");
}
else
{
if (b % 11 == 10)
{
a[12] = 'X';
//c = a[12];
}
else
{
k = b % 11;
a[12] = (char)k + 48;
//c = a[12];
}
printf("%s",a);
}
system("pause");
return(0);
}
```
by sevenwaters @ 2019-02-20 11:45:47
你用的VS多少?
by 海之眷恋8 @ 2019-02-20 12:21:49
据我Viusal Studio2017亲测:
**错误**:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“**#include "pch.h"**”?
```
pch.h为VS特点,洛谷不需要,可以忽略此错误
```
**错误**:“scanf”: 找不到标识符
**错误**:“printf”: 找不到标识符
**错误**:“printf”: 找不到标识符
**错误**:“printf”: 找不到标识符
**错误**:“system”: 找不到标识符
```
此问题转移至Dev-C++,洛谷在线IDE后全部无误。
```
于是,编译全对。但是编译对≠AC。所以请你下载测试点,对比你的答案,再给出对于答案的代码修改。如果还不行,你可以选择去换一种思路,或者~~借鉴题解~~来解决问题。如果再不行,请放弃这道题。(不过这种可能性应该为0.)
by 海之眷恋8 @ 2019-02-20 12:56:29
@[海之眷恋8](/space/show?uid=131288) vs2015,我选择放弃这个题,233.怎么 才能达到AC要求?这段代码有问题吗?
by sevenwaters @ 2019-02-20 14:15:24
@[海之眷恋8](/space/show?uid=131288) 把获取字符方式从scanf换成了getchar,居然AC了,是编译器的问题,还是代码的问题?弱弱的问
by sevenwaters @ 2019-02-20 14:30:26
em...可能是编译器问题。因为我好像发现VS的C++有点问题。你最好下次换个Dev之类的。VS适合写大型程序。它的代码规则和C++17的吻合度仅55%。洛的评测机和C++17的吻合度达到85%,应该不会有问题。这个事情好像有点神秘呢...
by 海之眷恋8 @ 2019-02-23 13:46:19
# AC代码
```
#include<bits/stdc++.h>
using namespace std;
int len,j;
string a;
int mod[20]={0,1,2,3,4,5,6,7,8,9,40};
int sum=0;
int main(){
cin>>a;
len=a.length();
j=0;
for(int i=0;i<11;i++){
if(a[i]=='-')continue;
sum=sum+(a[i]-48)*(++j);
}
if(mod[sum%11]==a[len-1]-48)puts("Right");
else {
a[len-1]=mod[sum%11]+48;
cout<<a<<endl;
}
return 0;
}
```
by 【诸葛村夫】 @ 2019-02-23 20:33:30