第十周 学生成绩管理系统 codeblock正常,复制过来显示结果错误

木一林 发表于2017年11月26日
<p><p><code class="brush:cpp;toolbar:false" >#include&nbsp;&lt;stdio.h&gt; #define&nbsp;N&nbsp;30 //这几个函数分别对应第二项到第六项的功能 void&nbsp;Function2(float&nbsp;*sum,&nbsp;float&nbsp;*aver,&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number); void&nbsp;Function3(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number); void&nbsp;Function4(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number); void&nbsp;Function5(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number); void&nbsp;Function6(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number); int&nbsp;main() { &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;number&nbsp;=&nbsp;0;//number&nbsp;为学生的人数 &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;result1&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;do{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Input&nbsp;student&nbsp;number(n&lt;30):\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result1&nbsp;=&nbsp;scanf(&quot;%d&quot;,&nbsp;&amp;number); &nbsp;&nbsp;&nbsp;&nbsp;}while(result1&nbsp;!=&nbsp;1&nbsp;||&nbsp;number&nbsp;&lt;=&nbsp;0&nbsp;||&nbsp;number&nbsp;&gt;&nbsp;30); &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;choice&nbsp;=&nbsp;-1;//&nbsp;choice&nbsp;为输入的选择 &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;stuNum[N]; &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;score[N]; &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;sum&nbsp;=&nbsp;0,&nbsp;aver&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;result3&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;do{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Management&nbsp;for&nbsp;Students'&nbsp;scores\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;1.Input&nbsp;record\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;2.Caculate&nbsp;total&nbsp;and&nbsp;average&nbsp;score&nbsp;of&nbsp;course\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;3.Sort&nbsp;in&nbsp;descending&nbsp;order&nbsp;by&nbsp;score\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;4.Sort&nbsp;in&nbsp;ascending&nbsp;order&nbsp;by&nbsp;number\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;5.Search&nbsp;by&nbsp;number\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;6.Statistic&nbsp;analysis\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;7.List&nbsp;record\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;0.Exit\n&quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Please&nbsp;Input&nbsp;your&nbsp;choice:\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result3&nbsp;=&nbsp;scanf(&quot;%d&quot;,&nbsp;&amp;choice); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(choice&nbsp;==&nbsp;1){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//用两个数组读入学生的学号及对应的成绩 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Input&nbsp;student's&nbsp;ID,&nbsp;name&nbsp;and&nbsp;score:\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;result2&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result2&nbsp;=&nbsp;scanf(&quot;%ld%f&quot;,&nbsp;&amp;stuNum[i],&nbsp;&amp;score[i]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}while(result2&nbsp;!=&nbsp;2);//防止输入非法字符,可重新输入将错误的输入覆盖掉 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(choice&nbsp;==&nbsp;2){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//计算成绩的总分及平均分 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Function2(&amp;sum,&nbsp;&amp;aver,&nbsp;score,&nbsp;number); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;sum=%.0f,aver=%.2f\n&quot;,&nbsp;sum,&nbsp;aver); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(choice&nbsp;==&nbsp;3){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//按成绩由高到低对学号和成绩进行排序 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Function3(stuNum,&nbsp;score,&nbsp;number); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(choice&nbsp;==&nbsp;4){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//按学号由小到大对学号和成绩进行排序 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Function4(stuNum,&nbsp;score,&nbsp;number); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(choice&nbsp;==&nbsp;5){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//按学号查询学生排名及其考试成绩 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Function5(stuNum,&nbsp;score,&nbsp;number); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(choice&nbsp;==&nbsp;6){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Function6(stuNum,&nbsp;score,&nbsp;number); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(choice&nbsp;==&nbsp;7){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//输出每个学生的学号、考试成绩 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Function4(stuNum,&nbsp;score,&nbsp;number);//用了第四项的功能,将按学号由小到大对学号和成绩进行排序 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(choice&nbsp;&gt;&nbsp;7&nbsp;||&nbsp;choice&nbsp;&lt;&nbsp;0&nbsp;||&nbsp;result3&nbsp;!=&nbsp;1)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Input&nbsp;error!\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}while(choice&nbsp;!=&nbsp;0); &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;End&nbsp;of&nbsp;program!&quot;); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0; } void&nbsp;Function2(float&nbsp;*sum,&nbsp;float&nbsp;*aver,&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number) { &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*sum&nbsp;+=&nbsp;score[i]; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;*aver&nbsp;=&nbsp;*sum&nbsp;/&nbsp;number; } void&nbsp;Function3(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number) { &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;j,&nbsp;k; &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;tempS&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;tempSN&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number&nbsp;-&nbsp;1;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j&nbsp;=&nbsp;i&nbsp;+&nbsp;1;&nbsp;j&nbsp;&lt;&nbsp;number;&nbsp;j++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(score[j]&nbsp;&gt;&nbsp;score[k]){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;j; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i&nbsp;!=&nbsp;k){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempS&nbsp;=&nbsp;score[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[i]&nbsp;=&nbsp;score[k]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[k]&nbsp;=&nbsp;tempS; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempSN&nbsp;=&nbsp;stuNum[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[i]&nbsp;=&nbsp;stuNum[k]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[k]&nbsp;=&nbsp;tempSN; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Sort&nbsp;in&nbsp;descending&nbsp;order&nbsp;by&nbsp;score:\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%ld\t%.0f\n&quot;,&nbsp;stuNum[i],&nbsp;score[i]); &nbsp;&nbsp;&nbsp;&nbsp;} } void&nbsp;Function4(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number) { &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;j,&nbsp;k; &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;tempS&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;tempSN&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number&nbsp;-&nbsp;1;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j&nbsp;=&nbsp;i&nbsp;+&nbsp;1;&nbsp;j&nbsp;&lt;&nbsp;number;&nbsp;j++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(stuNum[j]&nbsp;&lt;&nbsp;stuNum[k]){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp
2 回复

    1楼

  • 木一林 发表于2017年11月26日
    0 | 0 | 举报
    <p><code class="brush:cpp;toolbar:false" >没显示完整,这是下面的的代码 void&nbsp;Function4(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number) { &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;j,&nbsp;k; &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;tempS&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;tempSN&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number&nbsp;-&nbsp;1;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j&nbsp;=&nbsp;i&nbsp;+&nbsp;1;&nbsp;j&nbsp;&lt;&nbsp;number;&nbsp;j++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(stuNum[j]&nbsp;&lt;&nbsp;stuNum[k]){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;j; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(k&nbsp;!=&nbsp;i){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempSN&nbsp;=&nbsp;stuNum[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[i]&nbsp;=&nbsp;stuNum[k]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[k]&nbsp;=&nbsp;tempSN; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempS&nbsp;=&nbsp;score[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[i]&nbsp;=&nbsp;score[k]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[k]&nbsp;=&nbsp;tempS; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Sort&nbsp;in&nbsp;ascending&nbsp;order&nbsp;by&nbsp;number:\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%ld\t%.0f\n&quot;,&nbsp;stuNum[i],&nbsp;score[i]); &nbsp;&nbsp;&nbsp;&nbsp;} } void&nbsp;Function5(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number) { &nbsp;&nbsp;&nbsp;&nbsp;//借用第四项的功能,先按学号由小到大进行排序 &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;j,&nbsp;k; &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;tempS&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;tempSN&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number&nbsp;-&nbsp;1;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j&nbsp;=&nbsp;i&nbsp;+&nbsp;1;&nbsp;j&nbsp;&lt;&nbsp;number;&nbsp;j++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(stuNum[j]&nbsp;&lt;&nbsp;stuNum[k]){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;j; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(k&nbsp;!=&nbsp;i){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempSN&nbsp;=&nbsp;stuNum[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[i]&nbsp;=&nbsp;stuNum[k]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[k]&nbsp;=&nbsp;tempSN; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempS&nbsp;=&nbsp;score[i]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[i]&nbsp;=&nbsp;score[k]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[k]&nbsp;=&nbsp;tempS; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;//再利用折半查找法 &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;n&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;result&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Input&nbsp;the&nbsp;number&nbsp;you&nbsp;want&nbsp;to&nbsp;search:\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;do{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;scanf(&quot;%ld&quot;,&nbsp;&amp;n); &nbsp;&nbsp;&nbsp;&nbsp;}while(result&nbsp;!=&nbsp;1&nbsp;||&nbsp;n&nbsp;&lt;&nbsp;0); &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;low,&nbsp;high,&nbsp;mid; &nbsp;&nbsp;&nbsp;&nbsp;low&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;high&nbsp;=&nbsp;number&nbsp;-1; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;flag&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;while(low&nbsp;&lt;=&nbsp;high){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mid&nbsp;=&nbsp;(low&nbsp;+&nbsp;high)&nbsp;/&nbsp;2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&nbsp;&gt;&nbsp;stuNum[mid]){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;low&nbsp;=&nbsp;mid&nbsp;+&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(n&nbsp;&lt;&nbsp;stuNum[mid]){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;high&nbsp;=&nbsp;mid&nbsp;-&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag&nbsp;=&nbsp;mid; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if(low&nbsp;&lt;=&nbsp;high){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%ld\t%.0f\n&quot;,&nbsp;stuNum[flag],&nbsp;score[flag]); &nbsp;&nbsp;&nbsp;&nbsp;}else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;Not&nbsp;found!\n&quot;); &nbsp;&nbsp;&nbsp;&nbsp;} } void&nbsp;Function6(long&nbsp;stuNum[],&nbsp;float&nbsp;score[],&nbsp;int&nbsp;number) { &nbsp;&nbsp;&nbsp;&nbsp;//先用了第三项的功能,按成绩由高到低对学号和成绩排序 &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i1,&nbsp;j1,&nbsp;k1; &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;tempS&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;tempSN&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for(i1&nbsp;=&nbsp;0;&nbsp;i1&nbsp;&lt;&nbsp;number&nbsp;-&nbsp;1;&nbsp;i1++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k1&nbsp;=&nbsp;i1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j1&nbsp;=&nbsp;i1&nbsp;+&nbsp;1;&nbsp;j1&nbsp;&lt;&nbsp;number;&nbsp;j1++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(score[j1]&nbsp;&gt;&nbsp;score[k1]){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k1&nbsp;=&nbsp;j1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i1&nbsp;!=&nbsp;k1){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempS&nbsp;=&nbsp;score[i1]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[i1]&nbsp;=&nbsp;score[k1]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score[k1]&nbsp;=&nbsp;tempS; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempSN&nbsp;=&nbsp;stuNum[i1]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[i1]&nbsp;=&nbsp;stuNum[k1]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuNum[k1]&nbsp;=&nbsp;tempSN; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;//再利用和90&nbsp;80&nbsp;70&nbsp;60&nbsp;0&nbsp;对比找出有多少人,最后计算百分比 &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;j,&nbsp;k&nbsp;=&nbsp;0,&nbsp;h&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;count&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;couP[6]; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;m[]&nbsp;=&nbsp;{90,&nbsp;80,&nbsp;70,&nbsp;60,&nbsp;0}; &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;=&nbsp;5;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j&nbsp;=&nbsp;k;&nbsp;j&nbsp;&lt;&nbsp;number&nbsp;&amp;&amp;&nbsp;score[j]&nbsp;&gt;=&nbsp;m[h];&nbsp;j++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;+=&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;couP[h]&nbsp;=&nbsp;count; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;j; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h++; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;a&nbsp;=&nbsp;0;//a为100分由多少人 &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(score[i]&nbsp;==&nbsp;100){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;+=&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;&lt;60\t%d\t%.2f%%\n&quot;,&nbsp;couP[4],&nbsp;((float)couP[4]&nbsp;/&nbsp;number)*100);//coup[4]中为&gt;=&nbsp;90分的人数 &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d-%d\t%d\t%.2f%%\n&quot;,&nbsp;60,&nbsp;69,&nbsp;couP[3],&nbsp;((float)couP[3]&nbsp;/&nbsp;number)*100); &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d-%d\t%d\t%.2f%%\n&quot;,&nbsp;70,&nbsp;79,&nbsp;couP[2],&nbsp;((float)couP[2]&nbsp;/&nbsp;number)*100); &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d-%d\t%d\t%.2f%%\n&quot;,&nbsp;80,&nbsp;89,&nbsp;couP[1],&nbsp;((float)couP[1]&nbsp;/&nbsp;number)*100); &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d-%d\t%d\t%.2f%%\n&quot;,&nbsp;90,&nbsp;99,&nbsp;couP[0]&nbsp;-&nbsp;a,&nbsp;((float)(couP[0]&nbsp;-&nbsp;a)&nbsp;/&nbsp;number)*100); &nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d\t%d\t%.2f%%\n&quot;,&nbsp;100,&nbsp;a,&nbsp;((float)a&nbsp;/&nbsp;number)*100); }</code></p>
    木一林 发表于2017年11月26日
    添加评论
  • 2楼

  • 木一林 发表于2017年11月26日
    0 | 0 | 举报
    <p><code class="brush:cpp;toolbar:false" >有一条注释写错了,coup[4]&nbsp;不是&nbsp;&gt;=&nbsp;90分的人数,coup[0]才是</code></p>
    木一林 发表于2017年11月26日
    添加评论