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 ...