问题 问答题


阅读以下应用程序说明和C程序,将C程序段中(1)~(6)空缺处的语句填写完整。
【说明】
某大学征询学生意见,从各学院预选的n(n≤60)位优秀大学生中,评选出“十佳大学生”。以下【C程序】对各位学生选票进行相关的统计、排序等处理。
(1)各学院预选的优秀大学生按1,2,…顺序连续编号,每个编号用两个字符表示,即01,02,…。
(2)所回收的选票按以下格式存于文件source中,每行字符串对应一张选票。其中,姓名占10个字符,学院名称占30个字符,大学生编号占20个字符。
(3)对应名次的大学生编号可以有空缺,但必须用00表示。
(4)若编号超出规定范围,或编号重复出现,按照废票处理。
(5)按选票中所列“十佳大学生”顺序给出各名大学生的得分。评分标准如下:
一 二 三 四 五 六 七 八 九 十
15 12 9 7 6 5 4 3 2 1
(6)按各位大学生得分数由高到低顺序排队,并按以下格式列出“十佳大学生”排行表。
名次 大学生编号 合计得分 合计得票数
若得分相同,则得票数多的在前;若得分和得票数都相同,则编号小的在前。
以下【C程序】中所应用到的函数fopen、fclose和fgets都是I/O程序库中的函数。
【C程序】
#include <stdio. h>
#define n 60
long int tn[n], td[n], score[n+1][10], order[n];
char s[80];
int mark[]=(15,12,9,7,6,5,4,3,2,1);
FILE *fp, *fopen();
Main()
{ int c, g, k, I, j, b[10];
long int e, d, t, tt, dd;
char * p;
for(i=0; i<=n; i++)
for(j=0; j<10; j++)
score[i][j]=0;
fP=fopen("source", "r");/*以读方式打开文件source*/
p=fgets(s, 80, fp); /*读fp所指文件的下一行字符串于s*/
while(*p){
g=l; k=0; p+=40;
while(k<10){
c=((*p++)-’0’)*10+((*p++)-’0’);
b[k++]=c)
if(c<=n){
if(c)
{ i=0;
While( (1) );
If( (2) ){g=0; break;}
}
else{g=0; break;}
}
If(g)
For(i=0; i<k; i++)
If(b[i])
(3) ;
p=fgets(s, 80, fP);
}
Fclose(fp); /*关闭fp所指文件*/
For(i=1; i<n; i++){
For(t=0, d=0, j=0; j<10; j++){
t +=(e=score[i][j]);
d +=e * mark[j];
}
tn[i-1]=t; td[i-1]=d; order[i-1]=i;
}
For(i=0; i<n-1; i++){
k=i;
for(j=i+1; j<n; j++)
if((t=td[order[j]-1])>(d=td[order[k]-1]))
k=j;
else
if(t==d){
tt= (4) ;
dd= (5) ;
for(c=0; c<10; c++)
if((e= (6) )>0){
k=j; break;}
else
if(e<0)break;
}
If(k!=i){
t=order[k]; order[k]=order[i]; order[i]=t;
}
}
For(i=0; i<10; i++)
Printf("%2d%2d%d%d\n", i+1, order[i], td[order[i]-1], tn[order[i]-1]));
}
}

【问题2】
以上C程序段中,采用了哪种算法对大学生得分进行排序

答案

参考答案:

解析:选择排序算法[要点解析] 由【问题1】要点解析可知,该C程序段采用选择排序算法对大学生得分进行排序处理。

单项选择题
材料分析题

中美两国同为世界重要国家。

材料一:应国家 * * 胡 * * 邀请,2009年11月15日至18日美国总统奥巴马对中国进行国事访问。美国总统奥巴马对中国正式访问的第一站是上海,在会见上海青年时奥巴马罕见提出“中美共同领导世界”的观点。奥巴马的政策是,愿意看到中国参与世界事务,甚至与美国共同发挥领导作用。但是,美国人让中国发挥领导作用是一回事,中国能否发挥好这种作用,能否真正在世界上确立起稳定的领导权,却取决于中国人处理国际事务的方式。

材料二:2008年2月27日凌晨,NBA火箭俱乐部官方宣布,姚明因为左脚踝骨裂,需要长期休养。3月3日姚明“手术成功”的消息并未让舆论安静,有关“姚明该不该使用中医疗法进行恢复”的讨论已愈演愈烈起来。“中国篮协希望中医帮助姚明加速治疗”的新闻一出,就引起了美国球迷的“反对”,认为“应该用科学的方法治疗姚明”,对于西方人而言,拔火罐、针灸这些中医手段,很容易被看作“虐待”,但在国人看来,这种看法本身就是一个笑话。其实,不仅是在洋人眼里,中医是神秘的,国人也对中医的药理知之甚少。这个争论对姚明的治疗方案不会产生影响。它能产生的意义在于:这是一次中关文化差异的碰撞,我们能否让美国人对中国传统文化产生更浓厚的兴趣。

阅读材料,回答下列问题:

(1)结合材料一,运用政治生活有关知识,如何正确评价奥巴马提出的中美共同领导世界的观点?

_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

(2)结合材料二,运用文化生活有关知识,谈谈如何正确对待“姚明受伤”所反映的中美文化差异与冲突?

_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________