题目描述
你们知道吗英文单词也可以做加法。现在规定加法法则如下:
1.这里的英文单词都是由小写字母组成。
2.字母a相当于自然数0,b相当于1,以此类推
3。加法法则参考10进制的加法。不要轻易抛弃0,它可能代表了字母a喔。
输入要求
第一行输入一个正整数n,表示有n个单词(n<=10)
接下来n行每行输入一个由小写字母组成的英文单词,每个单词长度不超过100。
输出要求
输出n个单词相加后的结果。
输入样例
样例1
3
a
ab
abc
样例2
3
a
ab
az
输出样例
样例1的输出
abd
样例2的输出
ba
#include<stdio.h>
#include<string.h>
int main()
{
int n, max = 0, len, d[200] = { 0 },max2;
char a[10][100],b;
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%s", a[i], 100);
len = strlen(a[i]);
if (max < len) {
max = len;
max2 = max-1;
}
for (int j = 0; j < len / 2; j++) {
b = a[i][j];
a[i][j] = a[i][len - j - 1];
a[i][len - j - 1] = b;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < max; j++)
{
int wz;
wz = j;
if (a[i][j] == '\0')break;
d[j] = d[j] + (a[i][j] - 97);
while (d[j] >=26) {
d[j] = d[j] - 26;
d[j + 1]++;
j++;
if (max2 < j )max2 = j;
}
j = wz;
}
}
for (int i = max2; i>=0; i--)printf("%c", d[i] + 97);
printf("\n");
}