C 语言 最大公约数和最小公倍数:从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).输入输入有若干行,每行有两个整数a和b,(|a|,|b|
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/03 01:18:33
C 语言 最大公约数和最小公倍数:从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).输入输入有若干行,每行有两个整数a和b,(|a|,|b|
C 语言 最大公约数和最小公倍数:
从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).
输入
输入有若干行,每行有两个整数a和b,(|a|,|b|
C 语言 最大公约数和最小公倍数:从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).输入输入有若干行,每行有两个整数a和b,(|a|,|b|
#include
#include
using namespace std;
///////////////////////////////////////////////////////////
//在D盘建了个TXT文件,D:\\test.txt
//文件要求每行有两个整数,每个数之间用逗号分隔
//函数功能:读取文本文件,找出其中的两个数的最大公约数和最小公倍数
// 然后输出到另一个文件D:\\Result.txt
//作者:niut
//如有高手,本人系初学,请指正.
///////////////////////////////////////////////////////////
int ReadTextLineFromFile(FILE *pFile,unsigned int Len, char * pszStrBuffer)
{
fgets(pszStrBuffer, Len, pFile);
int pos = strlen(pszStrBuffer);
if(pszStrBuffer[pos-1] == '\n')
{
pszStrBuffer[pos-1] = '\0';
}
return pos;
}//读取一行数据
void DataParse(char *stringdata,int *a,int *b)
{
char* temstring = (char*)malloc(sizeof(char)*1024);
memset(temstring,0x00,1024);
temstring =stringdata;
char * p =temstring;
char * q =stringdata;
while(*stringdata != '\0')
{
if(*stringdata != ',')
{
*temstring = *stringdata;
temstring++;
stringdata++;
}
else
{
*a = atoi(p);
stringdata++;
q = stringdata;
break;
}
}
*b = atoi(q);
}//解析一行数据中的两个整数
int gcd(int a,int b)
{
int re;
if(a == 0 || b==0)
{
re = 0;
}
else
{
int temp;
if(a 3)
{
DataParse(datatem1,&a,&b);
int gys=gcd(a,b);
int gbs =lcd(a,b);
char * x =(char*)malloc(sizeof(char)*6);
char * y =(char*)malloc(sizeof(char)*6);
char *str1=itoa(gys,x,10);
char *str2 =itoa(gbs,y,10);
int len1 =length(str1);
int len2 = length(str2);
char dh =',';
char hc ='\n';
fwrite("case#",1,5,result);
fwrite(str0,1,len1,result);
fwrite(":",1,1,result);
fwrite("\n",1,1,result);
fwrite(str1,1,len1,result);
fwrite("\n",1,1,result);
fwrite(str2,1,len2,result);
fwrite("\n",1,1,result);
}
else
{
fwrite("case#",1,5,result);
fwrite(str0,1,len0,result);
fwrite(":",1,1,result);
fwrite("\n",1,1,result);
fwrite("0\n0\n",1,4,result);
}
}
}