#include<iostream> #include<string> using namespace std; int main(){ char ID[20]; int w[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; int test=0,count=0,flag=1; char M[11]={'1','0','X','9','8','7','6','5','4','3','2'}; int N; cin>>N; for(int i=0;i<N;i++){ cin>>ID; for(int j=0;j<17;j++){ if(ID[j]!='0'&&ID[j]!='1'&&ID[j]!='2'&&ID[j]!='3'&&ID[j]!='4'&&ID[j]!='5'&&ID[j]!='6'&&ID[j]!='7'&&ID[j]!='8'&&ID[j]!='9'){ flag=0; cout<<ID<<endl; } else{ test+=(int)ID[j]*w[j]; } } test=test%11; if(flag==1){ if(ID[17]==M[test]){ count++; } else{ cout<<ID<<endl; } } } if(count==N){ cout<<"All passed"; } return 0; }为什么test计算错误
时间: 2024-03-27 19:37:14 浏览: 13
在计算 `test` 的过程中,实际上将字符型的 `ID[j]` 转换成了对应的 ASCII 码值,而不是对应的数字。因此需要将 `(int)ID[j]` 改为 `ID[j]-'0'`,即将字符型的 `ID[j]` 转换成对应的数字。
修改后的代码如下:
```c++
#include<iostream>
#include<string>
using namespace std;
int main(){
char ID[20];
int w[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int test=0,count=0,flag=1;
char M[11]={'1','0','X','9','8','7','6','5','4','3','2'};
int N;
cin>>N;
for(int i=0;i<N;i++){
cin>>ID;
for(int j=0;j<17;j++){
if(ID[j]!='0'&&ID[j]!='1'&&ID[j]!='2'&&ID[j]!='3'&&ID[j]!='4'&&ID[j]!='5'&&ID[j]!='6'&&ID[j]!='7'&&ID[j]!='8'&&ID[j]!='9'){
flag=0;
cout<<ID<<endl;
}
else{
test+=(ID[j]-'0')*w[j];
}
}
test=test%11;
if(flag==1){
if(ID[17]==M[test]){
count++;
}
else{
cout<<ID<<endl;
}
}
flag=1;
test=0;
}
if(count==N){
cout<<"All passed";
}
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)