这个为什么不输出字符串?
贴代码
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
struct word{
char c[500];
int l;
};
int a[250];
word dc[1010];
char zj[500];
int main() {
int n;
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
scanf("%s",dc[i].c);
dc[i].l =strlen(dc[i].c);
}
for(int i=1; i<=n; i++)
for(int j=0; j<dc[i].l ; j++)
{
strcpy(zj,dc[i].c);
a[i]+=int(zj[j]-'a')+1;
}
sort(a+1,a+n+1);
for(int i=1; i<=n; i++) {
printf("%s",dc[a[i]].c);
printf(" %d\n",a[i]);
}
return 0;
}
题面给下,也许有用 二、记单词 (remember.cpp) 【试题描述】 小k正在学习Y星单词,Y星的每个单词都是由小写英文字母组成的。不同单词记忆的难度都是不同的,我们可以用难度系数来表示每个单词记忆的难度。对于一个单词,其难度系数为它的所有字母的记忆难度之和。单个字母的记忆难度是这样的,字母a的记忆难度为1,字母b的记忆难度为2,字母c的记忆难度为3,以此类推,字母z的记忆难度为26。如单词“add”,a的记忆难度为1,d的记忆难度为4,则此单词的难度系数为1+4+4=9。对于难度系数相同的单词,字典序靠前的单词更容易记忆。 小k想按照先易后难的顺序去记单词。面对大量的Y星单词,如何确定记忆单词的顺序呢?他决定编写一个程序,将Y星的单词按照先易后难的进行排序。 【输入格式】 共n+1行。 第1行给出一个正整数n,为单词个数。 接下来n行,每行给出一个由纯小写字母组成的、长度不超过200的单词。 【输出格式】 共n行,每行为一个单词及其难度系数,单词与难度系数之间用一个空格隔开。 【输入输出样例】 remember.in remember.out 6 good difficult an goal embarrassed bee bee 12 an 15 goal 35 good 41 difficult 90 embarrassed 105 【数据范围与约定】 100%数据满足1<=n<=1000