1樓:匿名使用者
for(i=0;(c=string[i]!=n';i++)應改為。for (i=0;(c=string[i])!
0';i++)因為鍵盤輸入的回車符''是不包含在字串中的,字串以'\0'標誌結束。條件(c=string[i])!0'是檢查是否已經掃描了字串的全部內容。
if(c=='word=0; /
else if(word==0) /
這段語句中的word用來標記前一個掃描過的字元的型別。如果word=1,則表示前一個字元是字母,也就是當前單詞的一部分,否則表示前一個字元是空格,即單詞的分隔符。
另外需要指出的是,這段程式並不能準確地計算出一行輸入中的單詞個數。因為按照以上程式的邏輯,當一個單詞長度大於1時,則會重複計數,造成結果的誤差。可以將for迴圈改寫成以下形式,方可計算出一行內的單詞個數:
#include
/*後面會用到一個判斷字元型別的函式,應在程式開始時包含此標頭檔案*/for (i=0;(c=string[i])!0';+i)else /*標記當前字元為分隔符*/
word=0;
2樓:左手西陽
#include
void main()
printf("there are %d words in the line.",num);
這個計算一句話中單詞個數的程式的演算法思想是:設定一個flag,當前字元為空時另它為0,不為空時為1。然後計數器num工作的方法是:
遇到一個單詞的第一個字母時自增1,條件為c!='word==0,其中word==0表示它的前一個字元是' '考慮到第一個單詞,因為word在定義時已初始化為0,故第一次掃描遇到第一個單詞的第一個字母時,num也會自增1,並令word為1。
所以二樓分析有誤,這個程式是能正確計算出單詞個數的,只不過我們完全可以不用word而只統計' '的個數(賦初值為1)來計算單詞個數。
求助,c語言問題
3樓:鹹魚君的學習館
請把題目資料貼完整。比如隨機的這六個數字的範圍是多少。以及彩票中獎號碼會不會重複這些。
假設數字範圍是1~10 且號碼要求不重複。那麼**如下。若範圍不一致請自行修改。
**截圖。執行截圖。
手打不易,望採納~
c語言 求助 20
4樓:自我程式設計
方法很多,最直接的方法是,在函式中定義一個臨時陣列,然後2次迴圈,先將n往後的值存入新陣列,再將n之前的值存入陣列。最後把臨時陣列的值全部賦值給原陣列。
#include
void move(int arr,int len,int n);
int main()
int i,arr[5]=,n;
printf("請輸入n的值:")scanf("%d",&n);
move(arr,5,n);
printf("陣列變為:")
for(i=0;i<5;i++)
printf("%d ",arr[i]);
return 0;
void move(int arr,int len,int n)int i,j,atemp[len];
if(n>=len)
printf("n值過大,陣列訪問越界!")
elsefor(i=n,j=0;iatemp[j]=arr[i];
for(i=0;iatemp[j]=arr[i];
for(i=0;iarr[i]=atemp[i];
5樓:網友
該題c**如下:
#include
void move(int arr,int len,int n)}int main()
;move(a,5,2);
//顯示執行結果。
for(i=0;i<5;i++)printf("%d ",a[i]);
return 0;
}如果是oj判分答題,需稍做修改,可追問。
6樓:我呀
#include
void move(int arr,int len,int n);
int main(),n;printf("請輸入n的值:")scanf("%d",&n);
move(arr,5,n);
printf("陣列變為:")
for(i=0;i<5;i++)
printf("%d ",arr[i]);
return 0;
}void move(int arr,int len,int n)for(i=0;iarr[i]=atemp[i];}
求助,一個c語言問題!!
7樓:壽飛達聽筠
選d給你說一下三目運算子的實現,你就清楚了:
條件運算子要求有三個操作物件,稱為「三目運算子」。
三目運算子條件表示式的形式:
表示式1?表示式2:表示式3
說明:條件運算子的執行順序:先求解表示式1的值,若其為真,則求解表示式2的值,且整個條件表示式的值等於表示式2;若表示式1為假,則求解表示式3的值,且整個條件表示式的值等於表示式3。
所以表示式1的判斷方式是判斷表示式1的值是否為真,所以應該選d,判斷w!=0
為真的條件是表示式1的值不為0,但是不一定就必須為1,所以a不對。
求助 c語言
c語言問題 求助,C語言問題 求助
聽不清啊 這樣試試?include include int main scanf d d c,d for i 1 i a i printf d n e return 0 1 int 型別輸入的時候是 d,int 和float不要混合計算用。改過以後就是下面的 四則運算就是從左到右順序的,小括號優先。...
c語言問題求助,C語言問題求助
普洛智應 include void sort int p1,int p2,int p3 else if p1 p3 else else if p2 p3 if p1 看下函式形參和實參的概念。 include main void sort int p1,int p2,int p3 少括號 else ...
c語言問題,求助,C語言問題,求助!!
include int flower int num int main include int flower int num int main t 0 for i m i n i if t printf no n else printf n return 0 風林火陰山雷 先回答你第一個問題,遞迴函...