1、程序沒問題的 , 我想你是在輸入時加了空格了吧,getchar()和putchar()函數(shù)會把空格也當作字符輸入存儲的,所以在輸入1 2 3的時候就已經(jīng)達到5個字符了,你可以試試把程序中的5改成9試試,那就應該沒問題了。
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設計制作、做網(wǎng)站與策劃設計,南華網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設10年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:南華等地區(qū)。南華做網(wǎng)站價格咨詢:18980820575
2、1 創(chuàng)建數(shù)組,保存數(shù)列。2 輸入數(shù)列到數(shù)組。3 反序輸出該數(shù)組。
3、( int i=0 ;ij;++i,--j ){ char temp = src[j];src[j] = src[i];src[i] = temp;} return src;} 在主函數(shù)中輸入10個等長的字符串。
4、你可以把strs直接改成字符串數(shù)組,char strs[5][N],但你后面的函數(shù)參數(shù)類型也要跟著改。如果你不想改動其他函數(shù),還繼續(xù)使用指針數(shù)組,也是可以的。
printf(排序后為:);for(i=0; i5; i++)printf(%.2f ,a[i]);printf(\n);} 或者三個數(shù)的。
把 if(p!=i){ q=a[p];a[p]=a[i];a[i]=q;} 這一段放到前面的p=m;后地}后面。
程序中有兩處出現(xiàn)*point_1和*point_2,但是兩者含義不同。程序第5行的*point_1和*point_2表示定義兩個指針變量*point_1和*point_2。它們前面的“*”只是表示該變量是指針變量。
該趟排序從當前無序區(qū)中選出關鍵字最小的記錄 R[k],將它與無序區(qū)的第1個記錄R交換,使R[.i]和R分別變?yōu)橛涗泜€數(shù)增加1個的新有序區(qū)和記錄個數(shù)減少1個的新無序區(qū)。
//希望對樓主有小小的幫助。。//排序的算法是二分法,N的對數(shù)時間復雜度。。//如果有疑問,我們可以再探討。。
從大到?。?交換判斷條件用 if(a[i]a[i+1])。函數(shù)調用語句: p(b); 或 p(c);數(shù)組 int a[5]; 語句中下標只能用到 a[4];給你改了函數(shù),數(shù)據(jù)由參數(shù)帶入,排隊結果由參數(shù)帶回。
1、如果用keil編譯器提供個思路:先定義一個數(shù)組到50H開始的地址 unsinged char idata temp[10] _at_ 0x50;然后用冒泡法或其他方法對數(shù)組temp中10個數(shù)進行排序。
2、你這題好像是匯編的題,C程序一般不規(guī)定具體RAM地址。
3、只能得到這個結果了,把A的結果MOV到5AH就可以了。如果需要小數(shù)部分可以以B的數(shù)據(jù)乘以100為被除數(shù)再做一次除法,并將第二次除法后的結果送給如5BH即可獲取2位小數(shù)。
4、用匯編語言,計數(shù)器循環(huán),讀入寄存器,由寄存器寫入內存。具體看指令系統(tǒng)。