作业帮 > 综合 > 作业

c语言,权植,编写程序段

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 15:55:28
c语言,权植,编写程序段
/*题目:假设英文大小写字母的权值分别为:
A-E,a-e 1; F-J,f-j 2;
K-O,k-o 3; P-T,p-t 4;
U-Y,u-y 5; Z,z 6
计算主函数main()中数组words中的各英文单词的权重(英文单词的权重为该单词各字母权值之和)。
例如: 单词"World"的权重为16(W为5;o为3;r为4;l为3;d为1,5+3+4+3+1=16)。
编写程序: 1. 编写函数void calculate(char w[][20],int n,int p[]),计算数组w中n个英文单词的权重,并将权重存放在数组p中。
2. 编写函数void sort(int p[],int n,char w[][20]),对数组p中n个单词的权重进行降序排序,权重所对应单词在数组w中的位置也要作相应调整。注意:请勿改动主函数main()中的任何语句。*/
#include #include #include
#include #include
void calculate(char w[][20],int n,int p[]){
/**********Program**********/
/********** End **********/
}
void sort(int p[],int n,char w[][20]){
/**********Program**********/
/********** End **********/
}
int main(){ char words[5][20]={{"JiangSu"},{"Teachers"},{"University"},{"of"},{"Technology"}};
int value[5]={0}; int i;
calculate(words,5,value);
for(i=0;i
void calculate(char w[][20],int n,int p[]){
/**********Program**********/
\x09int i, j;
\x09for(i = 0; i < n; i++)
\x09\x09for(j = 0; w[i][j]; j++)
\x09\x09\x09p[i] += (w[i][j] - (w[i][j] > 'Z' ? 'a' : 'A')) / 5 + 1;
/**********  End  **********/
}
void sort(int p[],int n,char w[][20]){
/**********Program**********/
\x09int i, j;
\x09for(i = 0; i < n - 1; i++)
\x09\x09for(j = 0; j < n - 1 - i; j++)
\x09\x09\x09if(p[j] < p[j + 1]) {
\x09\x09\x09\x09char t[20];
\x09\x09\x09\x09strcpy(t, w[j]);
\x09\x09\x09\x09strcpy(w[j], w[j + 1]);
\x09\x09\x09\x09strcpy(w[j + 1], t);
\x09\x09\x09\x09int tmp = p[j];
\x09\x09\x09\x09p[j] = p[j + 1];
\x09\x09\x09\x09p[j + 1] = tmp;
\x09\x09\x09}
/**********  End  **********/
}