c語言簡單問題 書上例題,怎麼看怎麼不明白 希望能高人前來指點

2022-09-07 13:30:24 字數 3147 閱讀 6243

1樓:匿名使用者

先解決結束輸入的問題

輸入這些後

the capital of

china

beijing

i love

china

先換行,然後按ctrl+z,會顯示^z,然後回車,就可以了

2樓:匿名使用者

ctrl+z或ctrl+d

可以結束,

取決於輸入eof的設定

3樓:匿名使用者

更多資料可登入鬆翰微控制器論壇:http://www.sonix-mcu.com

c語言書上的一個例題看不懂

4樓:ddy四楓院

這個程式寫得不是很清楚啊。。個人覺得for迴圈語句的內容還是加個花括號比較好,這段**縮排也不對,看得好辛苦。。感覺你對for迴圈和變數不是很熟悉,建議還是多看一下書吧。

我改了一下,你看一下,不懂再問我吧。打得好辛苦,請採納好評~~

# include

#include

#include

using namespace std;

int main()

} //注意第一個for迴圈到這裡結束

printf("\n");

for(i=2,n=0;i<=100;i++) //這裡是輸出所以質數,i和j都是全域性變數來的,在這個迴圈裡已經把i的值改變了。i的值為2到100.

if(n==10) //使輸出結果每行10個

}printf("\n");

return 0;}

5樓:匿名使用者

#include

#include

int main(){

int i,j,n,a[101];

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

a[i]=i;

a[1]=0;//1不是素數

for(i=2;i

講一下求素數的演算法,以n為例,最簡單的是從2-n/2列舉,如果n能被整除其中一個整除,就不是素數。這個方法簡單卻沒有效率。

1-100的數中,任意取一個數,如果是非素數,都可以認為是(2-10)取一個數乘以一個小於50的數字,因為》=10 後,與另一個數字相乘要<=100 就必須另一個數字<=10,所以只要測試這個數字能否被2-10整除就可以了這樣就比上面一種方法測試次數少。

當然這也不是最簡單的演算法,這裡介紹另一種。

for(i=3;i<=100;i++)

if(i%2==0)//沒必要判斷2以外的偶數

a[i]=0;

else

a[i]=i;

a[1]=0;

a[2]=2;

for(i=3;i<=100;i+=2)//從3開始,判斷奇數即可

for(j=3;j<=sqrt(i);j+=2)

//因為不用檢測偶數,所以沒必要讓j從2開始,也沒必要為偶數,因此j+=2

if(i%j==0)

a[i]=0;

這演算法和上面方法相同,但反了一反,效果卻差很多,不必從2-10都測試一遍,任意一個數都只要判斷自己的平方根次就可以了,(因為一個數若能拆成2個整數相乘,其中一個必定<=自身平方根,另一個》=平方根),不必去測試額外的次數,對於大資料量十分有效。

程式設計的時候把縮排調整好,容易檢視,你的縮排不好,程式結構層次不清,就容易造成誤會,把後面的a[i]認為仍然是 for(j=i+1;j<=100;j++)這個迴圈中了

6樓:匿名使用者

一步一步來啊 ,把不懂的那句註釋掉,再看看,培養糾錯能力。不要動不動就讓別人找錯誤。我雖然知道問題出在**,但我決定不告訴你。你再看看吧 ,很明顯

7樓:怎麼到碗裡去了

可以單步除錯學習吧,錯誤十分明顯。

看不懂可以畫個流程圖,然後思考一下一個數在這個流程圖中走,變化怎樣,變化是否正常

8樓:匿名使用者

1步1 步除錯執行。

c語言書上的一道例題,沒怎麼看懂 10

9樓:匿名使用者

就是會用科學計數法,而精度只保留小數點後6位。

7.654321乘以10的多少次方,這樣,33就會被忽略掉了

c語言書上一道簡單例題,望高手解決下

10樓:

兩個都是函式,當然要加()

()裡是引數,傳給函式的

=前面的是接受函式的返回值

c語言高手進一下 這幾個問題書上沒找到 求 瞭解的人給我指導說下怎麼寫 非常簡單

11樓:尹遙知

1. //array

int mat1[3][3], mat2[3][3];

for(int i = 0; i < 3; i++) }cout<>a>>b;

int max=a;

if(b>max) cout << b; //max outputelse cout << max;

或者也可以用array

3. //leap year

int year;

bool leap;

cin>>year;

if((year%4==0 && year%100!=0)||(year%400==0)) leap=true;

else leap=false;

if(leap==true) cout <> mat[i][j];

if(i==j||i+j==2) sum+=mat[i][j];}}cout<;

int num;

bool prime;

cin >> num;

if(num==2) prime=true;

else

9. 改一下6就成

for (int i=100; i<200;i++)10. //輸出n項的

int n;

cin >> n;

if (n>=2);

for (i=2; i

for (i = 0; i

c語言簡單問題

可以檢視msdn srand 是初始化一個種子,就是說隨機數是從哪個數開始,常以系統內時間來初始化,即 srand unsigned time null randomize 是vbscript or pascal中的函式,容也是初始化的作用,預設是以系統時間為種子的,這是delphi help中的解...

簡單的C語言問題,一個簡單的C語言問題

列舉型別中,後面變數值是前面變數的值加1 如basic 3,則assembly 4 同樣 ada 100,則cobol 101,fortran 102 如果一個值沒有給定,就是它前一個變數值 1,ada 100,所以cobol 101,fortran 102 不完整。像是定義一個列舉變數並賦值。1。...

一個簡單的C語言問題,一個簡單c語言小問題?

不知道您說的 a a 出錯了,是什麼現象?您的這種程式,據我所知,在不同的系統中,可能會有不同的現象。您的意圖,似乎是想用 a a 來將字串中的字元d換成字元a,這種操作,在有些系統中是允許的,但有些系統中卻不可以執行。原因是 您這裡沒有給字串 d 在變數區中安排空間,而是直接按 字串常量 的形式寫...