char str2[10][5]
sscanf(str1,"%s,%s,%s,%s",str2[0],str2[1],str2[2],str2[3])
int main(){
int arr[5] = {546, 979, 4171, 67, 4}
int buf = 0 /* 一般我编程习惯初始化,其实不初始化也没关系 */
int i = 0, j = 0
for (i = 0 i < 5 i ++) /* 从第 0 个数字到第 4 个数字循环 */
{
for (j = i + 1 j < 5 j ++) /* 从第 i + 1 个数字到第 4 个数字循环(之所以从第 i + 1 个开始,是为了避免重复比较) */
{
if (arr[i] > arr[j])
{
buf = arr[i]
arr[i] = arr[j]
arr[j] = buf /* 交换两个变量 */
}
}
}
printf("Result:\n")
for (i = 0 i < 5 i ++)
printf("%d\n", arr[i])
system("pause")
return 0
}
这个代码可能不是替换法(因为我也不知道什么是替换法),但这是我自己想出来的代码,运行结果如下:
#include<stdio.h>void main()
{
int a,b,c,i
a=390
b=455
c=546
for(i=1i<390i++)
if(a%i==0)
{ if(b%i==0)
{
if(c%i==0)
{
printf("公约数=%d\t",i)
}
}
}
}
以上是我用C语言写了求此题的小程序
公约数为:1和13
最大公约数为13
根据定义,所有自然数都能被“1”整除,即“1”是最小公约数。但为什么不谈最小公约数呢?因为“1”作为最小公约数在数学上没有实用,如出2,3,4,5,6等自然数可应用于分数约分中,把分数约为最简式,而“1”就不起任何作用。