求解惑,为啥我t前面还好好的,到第8位就变负数了

P1055 [NOIP2008 普及组] ISBN 号码

Dzh1955 @ 2024-11-19 22:10:33

//输出例子0-670-82162-4 ,0 ,12 ,33 ,33 ,73 ,85 ,92 ,-116 -98,0-670-82162-10

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char arr[12],j=0,t=0;
    cin>>arr;
    for(int i=0;i<12;i++)
    {
        if(arr[i]=='-') continue;
        j++;
        t=t+(arr[i]-48)*j;
        printf("%d\n",t);
    }

    if(t%11==arr[12])
    {
        cout<<"Right";
    }
    else if(t%11==10)
    {
        for(int i=0;i<11;i++)
        {
            cout<<arr[i];
        }
        cout<<"X";
    }
    else 
    {
        for(int i=0;i<11;i++)
        {
            cout<<arr[i];
        }
        cout<<t%11;
    }
}

by gmrIQ250 @ 2024-11-21 21:04:43

你的t\j是char类型


|