问题遇到的现象和发生背景
问题如下:
输入格式:
只有一行,为一个长度不超过1000且仅包含数字的字符串。
输出格式:
为上述规则下该字符串的校验和。测试用例保证所有整数可以用 int存储。
输入样例:
85302688978758327
输出样例:
21
问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char string[1000];
int a[17]={13,16,30,17,8,24,21,3,9,12,10,4,6,14,15,29,11};
int i,l,sum=0;
scanf("%s",string);
l=strlen(string);
for(i=0;i<l;i++)
{
sum=sum+(string[l-1-i]-'0')*a[(l-1-i)%17];
}
printf("%d",sum%23);
}
运行结果及报错内容
我想要达到的结果
以此题为例:
21