C语言求解详细过程

这是一个选择排序的程序,总体思路是:
从数组头开始针对每个数组元素进行操作
针对每个元素开始,在其后的所有元素中找最大值,并与当前元素进行交换,
这样当前元素会保存之后所有元素的最大值,
然后再将当前元素的下一元素作为起始元素,并在其后找最大值,直到倒数第2个元素找完为止
最终数组第1元素是全数组中最大值,第2元素是除第1元素外最大值,依此类推
for ( i=0;i<10;i++ ) //从第1元素找到倒数第2个为止,每次找当前元素后面所有元素最大值
{ //找完后与当前元素交换
p=i;q=a[i]; //先暂时将当前元素当最大值,p记录最大值下标号,q记录最大值取值
for ( j=i+1;j<10;j++ ) //从当前元素后开始一直比较到最后一个,找出最大值及相应位置(下标)
//所以这里有个错误结束条件应为j<11
if(q<a[j] {p=j;q=aj];} //如果当前元素的值大于最大值,记录下标号及数值,取代原先所记
//否则什么也不做
if(p!=i) //找完了,如果需要交换则进行下述交换操作
{ s=a[i];a[i]=a[p];a[p]=a[i]; } // 当p==i 时,找到的最大值已经在a[i]就不需要交换啦,
//所以不用写else的处理语句
printf("%d,",a[i]); //输出当前找到的最大值
}

  • C璇█璇荤▼棰姹傝В,瑕璇︾粏杩囩▼
    绛旓細k = 5 + p[0]*2, 缁撴灉k = 5;绗簩娆″惊鐜細k = 5 + p[1]*2, 缁撴灉k = 9;绗笁娆″惊鐜細k = 9 + p[2]*2, 缁撴灉k = 21;3锛屼竴鍏变袱娆′簩绾琭or寰幆锛岀涓娆″鍒讹紝绗簩娆¤鍙栬祴鍊间箣鍚庢槸杩欐牱鐨 01234001234156789210111213143151617181942021222324鐒跺悗渚濇鍘讳笂琛ㄤ腑璇诲彇锛歛[0][0]锛宎[1]...
  • 姹傝В鍑犱釜绠鍗曠殑C璇█绋嬪簭~~杩囩▼瑕璇︾粏~~
    绛旓細main(){int i,j,k;//瀹氫箟鍙橀噺 printf("*");//鍦ㄦ帶鍒跺彴鎵撳嵃 for(i=1;i<10;i++)printf("%4d",i);//i鍒濆鍊间负1锛屽湪i<10鐨勬儏鍐典笅锛屽湪鎺у埗鍙版墦鍗癷锛4浣嶆暟锛屽彸瀵归綈锛屼笉瓒崇敤绌烘牸琛ラ綈锛屾墽琛屽悗i鑷姞1锛岀户缁墽琛屻俻rintf("\n\n");//鍦ㄦ帶鍒跺彴鎹㈣2娆 for(j=1;j<10;j++));{printf...
  • 涓閬c璇█鎻姹傝В瀹屾暣鐨勩婅绠杩囩▼銆,绛旀浠ョ粰鍑,璋㈣阿浜!
    绛旓細褰搃=5鏃讹紝绗簩涓猣or鎰忔濇槸a5=a4锛宎4=a3锛宎2=a1锛宎1=a0锛涘嵆鍓嶅洓浣嶉兘鍚戝彸绉诲姩涓浣嶃傝屾渶鍚庝竴涓暟鏀惧湪a0.鍗抽浣嶏紙a0=k锛夌涓変釜for鍒欐槸杈撳嚭绉诲姩鍚庣殑鏁般5,7,4,8,9,1 i=4,3,2,1,0閮芥槸涓涓剰鎬濄傚惊鐜簡6娆°傝緭鍑6缁勬暟
  • C璇█姹傝В,璇︾粏杩囩▼
    绛旓細鍐掓场鎺掑簭锛屾敼鎴愯繖鏍峰簲璇ュソ鐞嗚В涓鐐 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 for(i=0;i<10;i++){ for(j=i+1;j<10;j++){ p=i;q=a[i];for(j=i+1;j<10;j++){ if(q
  • C璇█姹傝В鎬庝箞鍋
    绛旓細include <stdio.h> include <stdlib.h> int main(){ float faHeight,moHeight;char sex,diet;double height;int sports;printf("Boys(M) or girl(F):");scanf("%c",&sex);printf("Please input your father's height(cm):");scanf("%f",&faHeight);printf("Please input your mother'...
  • c璇█涓灏忔绋嬪簭姹傝В
    绛旓細include "stdio.h"//鍖呭惈杈撳叆杈撳嚭澶存枃浠,printf灏卞湪鍏朵腑main(){ int x1=0xabc,x2=0xdef;//澹版槑x1銆亁2涓烘湁绗﹀彿鏁村瀷鍙橀噺骞剁敤鍗佸叚杩涘埗璧嬪垵鍊 x2-=x1;//鐢▁2鐨鍊煎噺鍘粁1鐨勫煎苟灏嗙粨鏋滆祴缁檟2 printf("%x\n",x2);//鐢ㄥ崄鍏繘鍒惰緭鍑簒2鐨勫紏缁撴灉鏄崄鍏繘鍒333锛屽嵆鍗佽繘鍒剁殑819銆
  • C璇█,姹傝В
    绛旓細鎵ц鍚庯細y:=y+a[1]=1+4=5;锛堟暟缁刟涓涓涓厓绱犱负a[0]锛岀浜屼釜鎵嶆槸a[1]锛夌浜屾杩涘叆寰幆锛歺=1, p->a[1], y=5;鎵ц鍚庯細y:=y+a[2]=5+6=11;绗笁娆¤繘鍏ュ惊鐜細x=2, p->a[1], y=11;鎵ц鍚庯細y:=y+a[3]=11+8=19;绗洓娆$敱浜巟=3涓嶆弧瓒硏<3鐨勬潯浠讹紝鏁呬笉杩涘叆寰幆锛...
  • C璇█缂栫▼棰姹傝В,鍦ㄧ嚎绛!!
    绛旓細include <stdio.h> int main(){ int a=3,b=4,c=5,t;printf("a=%d b=%d c=%d\n",a,b,c);t=a; a=c; c=b; b=t;printf("a=%d b=%d c=%d\n",a,b,c);return 0;}
  • C璇█姹傝В璇︾粏杩囩▼
    绛旓細鍐掓场鎺掑簭锛屾敼鎴愯繖鏍峰簲璇ュソ鐞嗚В涓鐐 for(i=0;i<10;i++){ for(j=i+1;j<10;j++) { p=i;q=a[i]; for(j=i+1;j<10;j++) { if(q
  • c璇█棰樸姹傝В鎵ц浠ヤ笅绋嬪簭鍚庤緭鍑哄,浠ュ強璇︾粏瑙g瓟姝ラ銆傝阿璋俖鐧惧害...
    绛旓細鏈缁堝间负 31 struct wc{int a,*b;}*p; 鏄竴涓粨鏋勪綋鐨澹版槑銆俿tatic struct wc x[2]={100,x0,300,x1}; 杩欎釜鏄粨鏋勪綋鏁扮粍鐨勫彉閲忕殑瀹氫箟鍜屽垵濮嬪寲銆傚嵆缁撴瀯浣撴暟缁勫厓绱狅細 x[0] = {100,x0}; x[1] = {300,x1};p=x ; 灏辨槸缁撴瀯浣撴寚閽 p 鎸囧悜 缁撴瀯浣撴暟缁勭殑棣栧湴鍧 x 涓烘暟缁勭殑棣栧湴鍧...
  • 扩展阅读:编程必背100个代码 ... c++编程 ... c语言必背100代码 ... c语言新手入门教程 ... 程序员初级入门自学 ... c++教程 ... c语言零基础自学 ... c入门教程视频 ... c#入门基础知识 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网