請高手幫忙解決一道C語言的程式設計題急啊

2021-03-17 09:33:36 字數 2328 閱讀 4429

1樓:

**及其不規範,首先給你修改規範,然後給你編上行號,給你說

1 int findstr(char *str,char *substr)

2 12 else break;

13 if(*r=='\0')

14 n++;

15 str++;

16 }

17 return n;

18}首先此題不用指標作,很麻煩,而且函式原形都要修改,要新增兩個字串長度引數,才可以不再使用指標。還是給你講解這個程式的流程吧。

6 while ( *str )

這個迴圈是從源串第乙個位元組開始,一直碰到'\0'結束,因為'\0'的ascii碼為0,也就是null。下面**已知道line 16都是這個迴圈體。

8 p=str;

9 r=substr;

取得兩個字串當前指標,為作比較準備,

10 while(*r)

11 if(*r==*p)

12 else break;

這個迴圈的條件和line 6差不多。其中這個迴圈是這樣的,將連個字串的第乙個位元組開始比較,如果相等則比較下乙個,一直到r結束還是相等的,這個字串就在str中出現過,否則到line 12執行,跳出迴圈。

11 if(*r==*p) 如果這兩個位元組相等,則比較下乙個字。

12 else break;不相等,跳出迴圈。

以下這兩句是判斷剛才迴圈結束的原因

13 if(*r=='\0') 如果r指標指向的位元組是'\0',那麼表示整個字串都匹配了,因此就讓計數器n自加1,然後從源串下乙個位元組開始再次匹配。

14 n++;

15 str++;

知道str指向字串結束,程式結束了。

還有樓主連指標都看不懂,那就危險了。

一道c語言程式設計題,請高手幫忙!

2樓:匿名使用者

很簡單啊。仔細看這點for

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

{ sum=0; 不論第乙個for迴圈執行多少次,sum都被重新賦值為0,當i=1做最後一次迴圈時,在進入第二個for迴圈之前sum=0進入第二個for迴圈後,for(j=1;j<=i;j++) 等價於

for(j=1;j<=1;j++),所以只執行一次迴圈,所以此時sum+=i*j等價於sum=sum+i*j=sum+1*1=0+1=1;所以最後sum=1

3樓:匿名使用者

sum=0; //罪魁禍首在這裡

每次都從新開始,加完一遍,清零

所以計算是最後一次的,那是i = 1, j<=i =1所以結果就是1

如果你想求所有的和,把那句去了就o了

4樓:匿名使用者

答案不可能是1,雖然我去編譯器驗證,但是絕對不可能是1 。除非你題目抄錯了

5樓:匿名使用者

明顯是1,每次i取值,sum都置為0,正確的應該sum在迴圈的外面

6樓:曠盪虢銳陣

這個程式應該是輸入12進製的數,輸出十進位制的數;

對12進製的數,只有

0,1,2,3,4,5,6,7,8,9,a,b是有效的。在程式中#是輸入結束符;

12進製

十進位制10

=12(1*12)a0=

120(10*12)

c語言程式設計題,考試急用,請高手幫忙啊!!!!

7樓:匿名使用者

1.#include

long fun(long int x)

x=x/10;

}return ret;

}void main()

2.#include

void fun(char *s,char *t,char *p)i=0;

while(t[i])else break;

}k=0;

while(p[k])else break;

}if(s[j]==0 && p[k]==0)i++;}}

void main()

3.int fun(int m)

}void main()

4.#define n 10

void fun(int *x,int n)}if(k==0)

if(count==n) break;

}return sum;

}void main()

6.int fun(int *a,int n) }a[j]=-1;

return j;

}void main()

一道C語言程式設計題求解一道簡單的C語言程式設計題

樓主,抄樓上不太會說話,不要理,bai等等我貼出 沒有其他語言基礎du的c語言初學者起zhi步是慢了一dao點,但是要渣油 include int main return 0 dim arr斐波 那契數bai 列du 19 as integer arr斐波那 zhi契數dao列回 答 0 1 arr...

問一道C語言的問題。請高手解答,一道C語言的簡單問題求高手解答,求字串中不同字母個數

首先while k 這裡,括號 來里的是自 k的返回值,在k的前 bai面是先k減掉 du1再返回結果,因此執行zhi到這裡k為4,括號中的值為dao4,大於0應該是true,所以需要執行迴圈裡的內容。下面是printf這個函式,首先要先計算出printf的引數的值,也就是k 3的值,那麼這個表示式...

求解一道C語言程式設計題目,求一道C語言程式設計題

說一下思想 先定義乙個int min 1000000 或者其他大於4的數,因為陣列 專最大就4,按行屬列遍歷陣列所有元素,min min a i j a i j min 輸出的min即為所求 include define n 2 int getmin int a n int m,int n int ...