瞇鴨呱呱

各位神人大大幫找一下哪裡打錯可否!!他一直在error我打到快哭了!!

Recommended Posts

//FileName:整數平方的倒數和

#include<stdio.h>

#include<stdlib.h>

int main(void) {

int i;

int(i=0; i<=10000; i++) ;

float a ;

float (a=1/i*i) ;

float b ;

float (b=0,b=a+b) ;

system("PAUSE") ;

return 0 ;

}

有沒有人可以幫忙更正一下滴!!!

Edited by j100002ben
補首碼^^

Share this post


Link to post
Share on other sites

//FileName:整數平方的倒數和
#include<stdio.h>
#include<stdlib.h>
int main(void) {
int i;
int(i=0; i<=10000; i++) ;
float a ;
float (a=1/i*i) ;
float b ;
float (b=0,b=a+b) ;
system("PAUSE") ;
return 0 ;
}

float (a=1/i*i) ;

float (b=0,b=a+b) ;

這兩行幹嘛的啊?

int(i=0; i<=10000; i++) ;

後面不用; 啦,應該是{ }什麼的吧

你打錯的滿多的,我寫個新的趕你看好了

Edited by 伊達政宗

Share this post


Link to post
Share on other sites

//FileName:整數平方的倒數和

#include<stdio.h>

#include<stdlib.h>

int main(int argc, char *argv[]){

int i;

for(i=0; i<=10000; i++){

float a ;

a = a + 1/i*i ;

}

printf("a");

system("PAUSE") ;

return 0 ;

}

不好意思我看完書後又再寫了一次 編譯沒問題了喔~~

執行不出來=.=

Share this post


Link to post
Share on other sites
//FileName:整數平方的倒數和

#include<stdio.h>

#include<stdlib.h>

int main(int argc, char *argv[]){

int i;

for(i=0; i<=10000; i++){

float a ;

a = a + 1/i*i ;

}

printf("a");

system("PAUSE") ;

return 0 ;

}

不好意思我看完書後又再寫了一次 編譯沒問題了喔~~

執行不出來=.=

a = a + 1 / i * i;

你想想看優先序問題喔

還有printf("a");

是印出"a"這個字串,還是float a這個變數呢?

想想看,翻翻書喔

轉用python吧!

Python對他們來說不熟了~xd

大家都比較常聽到C++ JAVA什麼的

所以要他們學動力也比較小囉~

不過Python神好用www

Share this post


Link to post
Share on other sites
//FileName:整數平方的倒數和


#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[]){
int i;
for(i=0; i<=10000; i++){
float a ;
a = a + 1/i*i ;
}
printf("a");
system("PAUSE") ;
return 0 ;
}

不好意思我看完書後又再寫了一次 編譯沒問題了喔~~

執行不出來=.=

挺多基礎沒弄好耶...

先別說printf寫"a"表示印出「字串a」,

應該要用「printf("%f",a);」才能夠印出「a」的值

變數「a」的宣告位置也錯了,應該要在for的「{」與「}」外面

你宣告在大括弧裡面的話,變數就只存在於這個範圍內唷

還有,「1/i*i」除了「i=1」的時候是「1」之外,其他時候都一定會是「0」

因為沒有用cast強制型態轉換所以不管怎麼除都是整數除以整數,

要改成「1.0f/i*i」,然後你的i只能從1開始跑吧?不能除以「0」啊!!!

對了,你只跑到10000還好,i*i=100000000沒有超過int的範圍,不然你就要用long了

另外,那樣的加法到後面的精確度應該會越來越不准...

參考:

冼鏡光 , 使用浮點數最最基本的觀念 , DCview達人部落格 , 2008.05.12 15:17

http://blog.dcview.com/article.php?a=VmhQNVY%2BCzo%3D

還有唷,如果想個小數要相加,可是兩個大小差很多,最好用這個方法:

Kahan summation algorithm

PS:其他版眾先解決樓主問題啦,即使我很喜歡Python也覺得Python很美還是覺得有學C的價值啊:)

Edited by j100002ben

Share this post


Link to post
Share on other sites
挺多基礎沒弄好耶...

先別說printf寫"a"表示印出「字串a」,

應該要用「printf("%f",a);」才能夠印出「a」的值

變數「a」的宣告位置也錯了,應該要在for的「{」與「}」外面

你宣告在大括弧裡面的話,變數就只存在於這個範圍內唷

還有,「1/i*i」除了「i=1」的時候是「1」之外,其他時候都一定會是「0」

因為沒有用cast強制型態轉換所以不管怎麼除都是整數除以整數,

要改成「1.0f/i*i」,然後你的i只能從1開始跑吧?不能除以「0」啊!!!

對了,你只跑到10000還好,i*i=100000000沒有超過int的範圍,不然你就要用long了

另外,那樣的加法到後面的精確度應該會越來越不准...

參考:

冼鏡光 , 使用浮點數最最基本的觀念 , DCview達人部落格 , 2008.05.12 15:17

http://blog.dcview.com/article.php?a=VmhQNVY%2BCzo%3D

PS:其他版眾先解決樓主問題啦,即使我很喜歡Python也覺得Python很美還是覺得有學C的價值啊:)

Share this post


Link to post
Share on other sites
挺多基礎沒弄好耶...

先別說printf寫"a"表示印出「字串a」,

應該要用「printf("%f",a);」才能夠印出「a」的值

變數「a」的宣告位置也錯了,應該要在for的「{」與「}」外面

你宣告在大括弧裡面的話,變數就只存在於這個範圍內唷

還有,「1/i*i」除了「i=1」的時候是「1」之外,其他時候都一定會是「0」

因為沒有用cast強制型態轉換所以不管怎麼除都是整數除以整數,

要改成「1.0f/i*i」,然後你的i只能從1開始跑吧?不能除以「0」啊!!!

對了,你只跑到10000還好,i*i=100000000沒有超過int的範圍,不然你就要用long了

另外,那樣的加法到後面的精確度應該會越來越不准...

參考:

冼鏡光 , 使用浮點數最最基本的觀念 , DCview達人部落格 , 2008.05.12 15:17

http://blog.dcview.com/article.php?a=VmhQNVY%2BCzo%3D

還有唷,如果想個小數要相加,可是兩個大小差很多,最好用這個方法:

Kahan summation algorithm

PS:其他版眾先解決樓主問題啦,即使我很喜歡Python也覺得Python很美還是覺得有學C的價值啊:)

版大安安

我都忘記還有精準跟範圍了.....

寫python的大數寫太爽(汗

大推冼鏡光大大,那篇居然最近才看到真不好意思><

C因為偏低階所以超棒\(H)/

現在正怨恨的學JAVA中............

Python神好用啦

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.