- 最後登錄
- 2024-11-7
- 在線時間
- 93 小時
- 註冊時間
- 2007-5-26
- 閱讀權限
- 95
- 精華
- 0
- UID
- 1398317
- 帖子
- 123
- 積分
- 1270 點
- 潛水值
- 45006 米
| 誰可以幫我看看哪裡有錯誤 我用的是C++2005 Express版 我找不到哪裡有錯
- #include <stdio.h>
- #include <stdlib.h>
- #include <iostream.h>
- #include <time.h>
- using namespace std;
- int gcd(int a,int b);
- int lcm(int a,int b);
- int main(int argc, char *argv[])
- {
- int a=0;
- int b=0;
- int c=0;
-
- FILE *fp_in,*fp_out; //宣告檔案指標,fp_in為輸入用,fp_out為輸出用
-
- if((fp_in=fo pen("c:/Input.txt","r"))==NULL) //開啟檔案,"r"代表讀取模式
- { //fo pen()傳為NULL時代表開啟失敗
- cout<<"未找到Input.txt,程式中止.....\n"; //失敗時的處理
- system("PAUSE");
- return EXIT_SUCCESS;
- }
-
- fs canf(fp_in,"%d %d %d",&a,&b,&c); //依整數格式讀入a,b,c,用法跟scanf()很像,前面多檔案指標說明要從哪個檔案讀入
- fc lose(fp_in); //關掉檔案
-
- //顯示訊息到營幕上,保心安用
- cout<<"從Input.txt讀入:\n"<<a<<","<<b<<","<<c<<"\n";
- cout<<"\n寫出到Output.txt:\n";
- cout<<a<<","<<b<<","<<c<<"之最大公因數為"<<gcd(gcd(a,b),c)<<"\n";
- cout<<a<<","<<b<<","<<c<<"之最小公倍數為"<<lcm(lcm(a,b),c)<<"\n\n";
- if((fp_out=fo pen("c:/Output.txt","w"))==NULL) //開啟檔案,"w"代表寫入模式 ,如有同名檔案,則清除同名檔案,重新寫入
- { //開啟失敗時的處理
- cout<<"寫入檔案Output.txt失敗,程式中止.....\n";
- system("PAUSE");
- return EXIT_SUCCESS;
- }
- fp rintf(fp_out,"%d %d %d 之最大公因數為%d\n",a,b,c,gcd(gcd(a,b),c));//寫出到檔案,用法跟p rintf很像,前面多一個檔案指標說明要輸出到哪個檔案
- fp rintf(fp_out,"%d %d %d 之最小公倍數為%d\n",a,b,c,lcm(lcm(a,b),c));
- fc lose(fp_out); //關掉檔案
- system("PAUSE");
- return EXIT_SUCCESS;
- }
- int gcd(int a,int b) //函數gcd():求最大公因數
- {
- int temp;
- while(a%b!=0)
- {
- temp=a%b;
- a=b;
- b=temp;
- }
- return b;
- }
- int lcm(int a,int b) //函數lcm():求最小公倍數
- {
- return (a*b/gcd(a,b)); //a*b=gcd*lcm
- }
複製代碼 ... |
|