校验和计算
题目描述:
通信过程中会为发送信息添加校验信息以利于接收端检测发送过程中出现的错误。添加方法如下:
对于长度为 n 的整数序列, 计算所有整数的各位数字之和, 并将结果模10运算后, 结果即为所求校验信息。
输入说明: 输入分两部分, 第一部分是一个整数n(0<n<20),指明序列长度;第二部分是n个整数, 代表输入序列X_{0},x_{1} \cdots x_{n-1},其中(0≤xᵢ<10000,0≤i<n。
输出说明: 输出为一个整数, 表示校验信息。
输入样例:
5
1122 334455
输出样例:
0
样例说明: 各个整数的各位数字之和为:1+1+2+2+3+3+4+5+5=30,, 所以校验信息为:30\%10=0。
#include<stdio.h>
#include<math.h>
int main(){int n,i,sum=0;scanf("%d",&n);int a[n];if(n>0&&n<20){for(i=0;i<n;i++){scanf("%d",&a[i]);}for(i=0;i<n;i++){int temp=a[i];while(temp>0){sum+=temp%10;temp/=10;}}int model=sum%10;printf("%d",model);}return 0;
}