各位神人大大幫找一下哪裡打錯可否!!他一直在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 ;

}

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

此內容已被編輯, ,由 j100002ben
補首碼^^
鏈接文章
分享到其他網站
  • 回覆 119
  • Created
  • 最後回覆

Top Posters In This Topic

//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++) ;

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

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

此內容已被編輯, ,由 伊達政宗
鏈接文章
分享到其他網站

//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 ;

}

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

執行不出來=.=

鏈接文章
分享到其他網站
//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

鏈接文章
分享到其他網站
//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的價值啊:)

此內容已被編輯, ,由 j100002ben
鏈接文章
分享到其他網站
挺多基礎沒弄好耶...

先別說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的價值啊:)

鏈接文章
分享到其他網站
挺多基礎沒弄好耶...

先別說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神好用啦

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入