伊莉討論區
標題:
誰可以幫我看看哪裡有錯阿
[打印本頁]
作者:
a976378
時間:
2011-12-26 11:17 PM
標題:
誰可以幫我看看哪裡有錯阿
誰可以幫我看看哪裡有錯誤 我用的是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
}
複製代碼
作者:
刃丑
時間:
2011-12-27 12:26 AM
提示:
作者被禁止或刪除 內容自動屏蔽
歡迎光臨 伊莉討論區 (http://a401.file-static.com/)
Powered by Discuz!