c語言問題求解,C語言程式設計問題 約瑟夫問題求解

2022-06-09 06:41:37 字數 5894 閱讀 7047

1樓:

(8)第一次迴圈p是指向2的,用%s控制輸出就是2010,第二次迴圈p增1指向0了,輸出自然是010。這很好理解。

(9)早期的編譯器是2位元組,後來的編譯器是4位元組了,所以二者都正確。一般教科書用的是早期的系統,應該是2位元組。不要糾結這些,知道就行了,若考試,按幾位元組算會明示的。

(10)00101111+00000010==00110001,~00000011==11111100,00110001^11111100==11001101。

(11)fp=fopen("c:\\d1.dat","wb");。

2樓:聽不清啊

for(p=s;p

printf("%s\n",p);

這一段是這樣看:

printf("%s\n",p);

printf("%s\n",p+1);

其輸出就是:

2010 //這個不需解釋

010 //p+1就是s+1 ,輸出直到'\0'為止到p+2時,已不滿足迴圈條件,所以退出。

9、vc的int是4位元組。變數a在記憶體所佔位元組數是__40 _10、(2+x)^(~3)

=(00110001)^(11111100)= 11001101

11、fp=fopen("c:\\d1.dat","wb"));

3樓:古今創造

對於 char s="2010",*p;這句的意思是定義了一個字元陣列,因為定義的時候賦了初值,所以可以省略陣列個數用s,又定義了一個字元指標p,因為s是陣列名也就是這個陣列首元素的的地址,在 for(p=s;p

c語言程式設計問題:約瑟夫問題求解

4樓:匿名使用者

#include

#include

/*n表示最初有多少個人,m表示報數到多少的人離開,函式joseph返回最後剩下的人的編號*/

5樓:匿名使用者

這個演算法應該比較經典,等高手解答。

我的想法的是,兩數列不斷交替篩選。

6樓:問知道人

用一個迴圈連結串列就可以完成了!

#include

struct nodenode,*list,*p,*r;

void josephu(int n,int k,int m)p->next=list; /*建立一個迴圈連結串列*/p=list;

for(i=1;i<=n+1;i++)

printf("\n"); /*列印連結串列,並檢查迴圈連結串列是不輸入正確*/

p=list;

i=1;

while(p&&inext;

++i;

}for(i=1;inext;

}printf("the out=%d\n",p->data);

r->next=p->next;}}

void main()

c語言求解問題

7樓:最大的寶寶

1、在fun(a, b)處下斷點,準備除錯12、初始值

23、while (*(a++) != '\0');

結束時,a指向了字串終止符00之後的一個字元cc。

34、while (*(a - 1) < b) *(a--) = *(a - 1);

從尾部終止符00開始,字串a的每個字元依次與b比較大小。小則向右移動,如00將覆蓋cc。指標a向左移動,最終a指向在了原字元'5』。這就是要插入的位置

45、插入字元b,完成有序狀態下的插入排序5

8樓:匿名使用者

不知道 樓主要幹什麼?

似乎是 將 6 插入 7 5 之間

程式結果:

9767531

因此 程式需要進一步 除錯修改

c語言問題,求解

9樓:匿名使用者

scanf換成 scanf_s

10樓:匿名使用者

除了sum之外的變數,其它的變數不用賦值為0,你把編譯器軟體關了重啟就行。

11樓:匿名使用者

專案屬性 -> c/c++ -> sdl檢查 -> 否

c語言問題 求解

12樓:

6、148.5 (float)a/b=9.0/2=4.5 a%c*c=9*16=144 b/c=0

7、8.5 a=3.5,所以結果是float型 (int)(b/3*(int)(a+c)/4)%6=(int)(7/3*(int)(3.

5+6.7)/4)%6=(int)(2*10/4)%6=5

3、a=6,執行了加一操作 b=11,執行了減一操作

c語言問題,求解啊

13樓:匿名使用者

不知道,倒三角是怎麼倒,看你需要哪一種吧

14樓:聽不清啊

#include

int main()

;scanf("%d",&n);

for(i=1; i<=n; i++)

{ a[i][0]=1;

for(j=1; j<=i; j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=n; i>-1; i--)

{ for(j=0; jprintf("  ");

for(j=0; j<=i; j++)

printf("%-4d",a[i][j]);

printf("\n");

return 0;

c語言問題?

15樓:yfgh無悔

如果所有的case都不符合,就會執行default語句,之後會跳出這一層,繼續執行下一次迴圈。

16樓:蒼穹夜光

首先求解表示式,其計算結果若與下面某個常量表示式相等,則執行完該case,一專般後面後面加上break;跳出,

若該case沒有break,執行完後,後面的case會依次執行,直到碰到break,不然就會執行完所有語句。

對於你的問題,沒有break,舉個例子,若屬表示式結果為 第三個常量表示式,會執行完語句段3到語句段n+1所有語句。即(如果表示式的值與某個常量表示式的值相等,則執行該常量表示式後的所有語句段)

還有一般default後面只有一個語句段,說所有語句段不太合適。

應該是對的。

17樓:荊芳菲力蒼

這是一來

個for語句,根據for語句的源形式:for(語句bai1;語du句2;語句3){函式體;}

的執行順序是zhi:語句1,判斷dao語句2是否成立(非0為真,0為假)函式體,最後是語句3,(£)再進行判斷語句2,是否成立,在執行函式體,語句3

,在執行(£)知道條件不滿足語句2,跳出迴圈;如果,語句2是非邏輯表示式,即非判斷語句時,迴圈體內,必有滿足條件的跳出語句

break,否則為死迴圈;

這裡的for(k=1;k+1;k++)

可以這樣解釋:執行迴圈for()語句時,初始條件

k=1;之後執行

k+1(k=2,非0,條件為真繼續執行)之後執行函式體for下面花括號{}的內容,之後在執行

k++(k自增1)

所以,明白for()語句的執行順序就可以明白了,明白了嗎?

18樓:金蔚逮忻歡

main函式雖然是主函式、它是程式執行的開始處、但是、它也是函式、所以、也有返回值專和沒有返回值屬

c99標準規定main函式必須是int

返回值return

0;至於返回值是返回給作業系統的!

void

main

就是沒有返回值

19樓:蘇幹孟暢然

intmain()

在函式結尾需要給出返回值

void

main()

就不需要了。

一般,對於寫程式的來說,這兩個差別不大。

但是,不同編譯器對此的處理可能不同。

20樓:宋來吳冰菱

這一段**的思想是動態規劃

dp[j]

=dp[j]

+dp[j-a[i]];

拼出j的個數等於拼出j-a[i]的個數加上原本拼出j的個數

21樓:牧典表秀美

是的。表示已經定義了max這個巨集,而這個巨集的內容為空。如果後期進行巨集替換則該巨集被替換為空的內容。

比如int

a=max-5;就替換成int

a=-5;

22樓:覃奧韋向

可能是你沒有給兩個變數賦初值,你加兩句賦初值語句在試試看,希望能對你起到幫助

23樓:權敬枝浩然

int(*p)[5]

這是一個陣列指標

說明變數p是一個指標,指向了一個容量為5的陣列。

24樓:顧宜世依白

有區別假如你用的int

main()那麼你程式執行結束後的程序狀態值是在main裡返回的值。如果void的話,其他程式就不能得到你這個程式的結束返回值。。。

25樓:襲邵隱春燕

str1+strlen(str1)/2

strlen(str1)=13(空格也是1個)str+6是&[6]的地址

strcpy(str1+strlen(str1)/2,"esshe")

是將es

she複製到str1+strlen(str1)/2去,就是從第六位開版

始你說的也對權!

c語言問題求解? 30

26樓:自我程式設計

#include

int main()

int x,y,i,n,flag=1,s=0;

printf("請輸入x,y的值:");

scanf("%d%d",&x,&y);

printf("其中質數為:\n");

for(i=x;i<=y;i++,flag=1)//包含x和y,想不包含改成for(i=x+1;i<=y-1;i++,flag=1)

if(i==1)continue;

n=i-1;

while(1)//能被1和自身以外的數整除,就不是質數if(n==1) break;

else if(i%n==0 && !(flag=0))break;

else n--;

if(flag)printf("%d ",i),s+=i;

printf("\n和為:%d",s);

return 0;

c語言問題程式設計,C語言程式設計問題

程式修改輸出加個 元 後面執行結果可看到 編譯執行結果 如果輸入50 如果輸入90 如果輸入100 如果輸入110 include int main if x 50 y 80 x printf f n y return 0 c語言程式設計問題 解題思bai路 完全跟百錢買百雞的問題是du一樣的 設大...

c語言程式設計問題,C語言程式設計問題

你演算法都寫出來了,還要我們幫你寫什麼,演算法能寫,相信你能搞定的 c語言程式設計問題 b 當i 0時。呼叫 if語句 a 6t a 就是t等於t a然後a自曾,得t 6 return t a 這是a已經自曾為7 得返回13 呼叫當i 1時if語句的else句 a 7t a 就是t等於t a然後a自...

C語言程式設計問題,C語言程式設計問題。

include int main int i,j char s 9 printf 你的姓名?scanf s s for i 0 i 8 i for j 0 j i j printf s s printf n return 0 include include int main return 0 c語言...