c語言編寫程式困惑高手解答,C語言程式設計問題 求高手解答

2021-12-19 03:33:56 字數 2529 閱讀 7230

1樓:隆隆

while(count

printf("%4d",link[h].number);

link[h].number=0;

count++;

}這個演算法主要是雙while迴圈這裡。

首先while(count

while(i!=3)內迴圈的意思是每數三次排除乙個當前元素。(如果不等於3的話迴圈繼續往下數,等於3的話迴圈終止,進行迴圈外的排除**。)

注意:主要需要認知的是結構體陣列裡的每一結構體都有兩個int類變數,乙個是number記錄當前no。號,另乙個nextp的作用是儲存下乙個結構體的number值。

while(i!=3)內迴圈中,h=link[h].nextp;把當前結構體儲存的下乙個no。號給h。

if(link[h].number),判斷link[h].number的值,如果已經被排除的話link[h].

number=0。這裡就變成了if(0)條件不成立,i++就不執行了。while(i!

=3)內迴圈就會被多延長一次。好比number為0這次沒有被數到。

2樓:匿名使用者

這個演算法是個翻牌的演算法。

如果單看這句

if(link[h].number)//這裡開始看不懂了。高手詳解一下思路。

肯定看不董

看到link[h].number=0;

這句就好了

因為編號是從1~m的,0就是沒有評選資格的。

一開始大家都有資格,所以判斷if(link[h].number)//是判斷該編號是否還有資格,有資格就增加計數。

到了特定計數,退出計數迴圈,將該計數到猴子改變為沒有資格。

link[h].number=0;

count++;

說明有乙個已經排除,

這個演算法迴圈效率較底,排除可以有兩種方法,一種是前面的,說明該身份已經排除,做空迴圈不計數,還要一種就是改變迴圈的鏈使排除的項,不再迴圈內 。

n = 3;

i = 0;

h = m;

while(link[h].nextp != h)//怎麼數都是自己,就是大王了

h=link[h].nextp;

i++;

}printf("\n大王是:");

printf("%3d\n",link[h].number);

3樓:

用的連結串列麼=。=每次刪除n的那個單元撒

4樓:

link[h].number本來指數到的那個猴子的編號,但下面printf("%4d",link[h].number);

link[h].number=0;

退出的猴子被標記為了0,不再數他,所以數到他,也是不算數的,i不++,繼續往下數。

5樓:匿名使用者

link[h].number為零表示這個猴子退出圈外了

c語言程式設計問題 求高手解答

6樓:雨諾與諾

第一步輸入6,c1接受6,c1=『6』,6的ascii碼是54,滿足條件,執行5帶入,還是滿足

所以是死迴圈,沒有輸出。

7樓:匿名使用者

程式執行輸入65回車後,不會輸出結果

因為,scanf("%c",&c1);要求以字元的形式輸出進去,輸入65的時候,c1接收的是字元6

接下來,while後的條件表示式的值為邏輯真,會讓你繼續輸入,直到輸入大寫字母的時候,才會結束

輸出大寫字母的大寫形式,小寫形式

c語言程式設計問題,請高手解答!!

8樓:匿名使用者

#include

#include

#include

void to_uppers( char *s )}int main()

{char s[128];

int flag,line,i;

scanf("%s", s );

scanf("%d", &flag );

scanf("%d", &line );

if ( !flag )

to_uppers( s ); //轉成大寫for( i=0;i

9樓:匿名使用者

#include

//轉小寫

char tolower( char c)//大小寫敏感

bool findstr( char * instr, char * findstr)

}//大小寫不敏感

bool findstr_i( char * instr, char * findstr)

}//主函式

int main()

::fflush(stdin);

getchar();

return 0;}

用c語言編寫程式,得出1 ,用C語言編寫程式,得出1 1 2 1 3 1 100的值

include int main void printf num d n num return 0 include int main 這樣是不更簡潔呢?物聯網校企聯盟技術部 void main include void main main printf d sum main 不懂再問,給分哦,親。i...

C語言程式設計,編寫程式,用C語言。

這就是運bai算符號的優先順序的問du題。c語言中,非零為真zhi,k 2,所以循dao環執行2次。第1次 專 屬 s m k m,在變數左側,所以先計算m m 1 4,k 在變數右側,所以先使用k 2進行m k 2的計算,然後再k k 1 1 最後計算s s 2 10 執行第1次迴圈後 m 4,k...

用C語言編寫程式,用C語言編寫三個程式

第一題 include include include include void fun char str,char c intmain void fun char str,char c 第三題 include include define n 4 typedef structshu intmain...