1樓:匿名使用者
問題在於表示式c=(getchar()!='\n')注意這裡的的括號
c= (getchar()!='\n')本質上是把子表示式getchar()!='\n'的值賦給變數c,換而言之c的值必然是表示式getchar()!='\n'
注意,這裡子表示式getchar()!='\n'是一個關係表示式,即判斷輸入的字元是否是'\n',也就是說其值不是真(1)就是假(0),沒有第三種情況了
也就是說c的值不是1就是0,但是ascii碼值表中碼值為0或1的必然不會是字母數字字元
2樓:匿名使用者
for (;(c=getchar())!='\n';) printf("%c",c);
你應該講c賦值之後再判斷是否不等於換行,你的程式括號加錯位置了,請對比你的和這裡給出的就能看出來了
abcdef
abcdef請按任意鍵繼續. . .
c語言的一道題目,跪求大神每一步詳細解答 30
3樓:可靠的雲朵
定義幾個變數;
外層for迴圈是n是100~200間的各數;(因為只有奇數才有可能是素數,所以n每次增2)
變數k是這個數的開方(為了簡便減少計算次數)內層for迴圈i是從2~這個數的開方k;
如果這個數n能夠整除這個數,那麼這個數n肯定不是素數,跳出內迴圈,外層n累加2,繼續進入內迴圈。。。如此計算下去,如果內迴圈結束了,還是不符合if這個判斷條件,那麼說明這個數肯定是素數,即輸出這個素數,m的作用是6個素數一換行
4樓:匿名使用者
首先main函式不用說了吧?
main函式第一行中定義了四個整形變數:n, k, i, m。
從1處可以得知,n的含義是n依次儲存從101到200的所有數字,以便程式判斷這些數字是否為素數。
在1處的for迴圈體中,將k定義為了n的平方根。從後面我們也可以看出,該程式檢驗n是否為素數的方法是依次用2, 3, 4, ..., k去除n,如果有一個數能整除n,就說明n不是素數。
那麼為什麼是一直除到k而不是除到n-1呢?這是因為:
如果我們已經證明在區間[2, sqrt(n)]之間沒有數字能夠整除n,那麼對於任意一個大於sqrt(n)的整數,要使這個整數能夠整除n,則n必然能夠找到另外一個小於sqrt(n)的因子,但是這卻與我們已經證到的結論矛盾,因此此時任意一個大於sqrt(n)的整數都必定無法整除n,因此判斷一個數是否為素數,只需要從2一直除到sqrt(n)就可以了。
那麼那個2處的i >= k+1是什麼意思呢?
從第二個for迴圈可以得出這樣一個結論:如果n為非素數,則肯定有一個整數i能夠整除n,那麼那個break語句肯定就會被執行一次。一旦執行了break語句,則i變數則永遠不可能大於k(因為最後一個i++這條語句肯定得不到執行),也就是i永遠不可能大於或等於k+1。
反過來說,如果n為素數,則執行完第二個for迴圈後,i的值必定為k+1,因此if判斷語句塊內的內容就肯定能夠被執行,從而輸出素數n的內容,並且將輸出控制變數m的值遞增1。
那個m和d我估計應該是控制輸出的格式,就是輸出來以後每一行都是d個數字。
一道c語言題目,求解答!!!!!!!
5樓:花落へべ若相惜
scanf()函式中沒有精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。則排除c
b,d沒有%排除
6樓:與子如初見
格式輸入嚴格按照格式輸入就好了,如果是c的話輸入得是
6.2283.1900
6.2在輸出的時候有作用,再輸入的時候沒作用。
求一道c語言題目解答
7樓:戈壁與清潭
pow() 函式原型是 double pow( double, double)
n=pow(1+rate,year); 這句裡year 是int 型,改為double
另外輸入函式
將%f 改為 %lf
8樓:匿名使用者
這句話的意思是 你輸入的時候要用這種形式:
money=1000.0,year=2.0,rate=0.5money 這些單詞要你自己輸入
9樓:雨夜
#include
void main()
你只要兩位小數用float吧!因為float跟%f搭配,另外就是scanf()裡面別寫money=%f之類的。因為你輸入時也要這樣輸。其他的也就沒什麼啦!!
10樓:匿名使用者
你這個需求是要按照複利計算還是按照單利計算呢?
11樓:匿名使用者
你的呼叫的數學函式沒有函式說明和函式定義
一道c語言的題目,求大神解答
12樓:匿名使用者
#include
#include
int main()
else
break;
}printf("%f\n",y); //列印y的值return 0;}
13樓:匿名使用者
// 不太明白你要幹什麼,條件不怎麼全啊
#include
#include
#include
int main()
else
break;
}printf("y=%f\n",y);
}return 0;}
14樓:匿名使用者
這個沒什麼可寫的啊?就是一個實現開方的功能模組,你要怎麼寫啊?
15樓:匿名使用者
y=z平方
前提必須是x>y
16樓:暗夜公爵
算個結果就可以了,謝謝大家
17樓:義燁定元魁
intpalindrome(char
*string)
if(i return 0;else return1;} 要注意以下幾點 要求pi的精度是0.0005,那麼在最後返回值運算到乘以2的時候精度會增加一倍。因此程式中精度的判斷值減半,變成0.001 雙精度型的變數跟整型變數之間運算的時候,建議將整形的資料強制轉換成雙精度型的,以免計算機位數差異產生誤差。3.使用整形i來計算迭代,建議使用長整型型別 long... 就是個斐波那契數的列遞迴解法啊,k項 k 1項與k 2項的和。你可以函式慢慢算。fib 0 0,fib 1 1,fib 1 1,fib 3 fib 1 fib 2 0,1,1,2,3,5,8,13.fib 7 fib 6 fib 5 fib 5 fib 4 fib 4 fib 3 fib 4 fib... include include int crypt int decrypt void main int crypt if fp1 fopen file2.txt w null while 1 else break printf d n i fclose fp fclose fp1 return 0 ...一道題c語言題求解答,一道c語言題,求解答
一道c語言題目,一道C語言題目
求高人解答一道c語言題目,求高人解答一道C語言題目