C语言,求解答一下,不要用数组的方法

信息安全很重要,特别是密码。给定一个5位的正整数n和一个长度为5的字母构成的字符串s,加密规则很简单,字符串s的每个字符变为它后面的第k个字符,其中k是n的每一个数位上的数字。第一个字符对应n的万位上的数字,最后一个字符对应n的个位上的数字。简单起见,s中的每个字符为ABCDE中的一个。

输入格式:
测试数据有多组,处理到文件尾。每组测试数据在一行上输入非负的整数n和字符串s。

输出格式:
对于每组测试数据,在一行上输出加密后的字符串。

输入样例:
12345 ABCDE
输出样例:
BDFHJ

#include <stdio.h>
int main()
{
char buff[6];
int data;
int i=0;
int count=0;
int cnt=10000;
//printf("请输入一个5位正整数:");
scanf("%d",&data);
//printf("请输入字符串:");
scanf("%s",buff);
for(i=0;i<5;i++)
{
count=data/cnt%10;/数位分离,得到各个位上的数/
buff[i]+=count;
cnt/=10;
}
printf("%s\n",buff);
return 0;
}
/*
12345 ABCDE
BDFHJ
*/