c语言 求n个数的最小公倍数 我是哪里错了
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/17 08:00:00
c语言 求n个数的最小公倍数 我是哪里错了
#include /* 求n个数的最小公倍数*/
int main()
{
\x09int a[1000];
\x09int n,i,r,t;
\x09while(~scanf("%d",&n)) /*我的思路是求出前两个数的最小公倍数再与下一个数求*/
\x09{ for(i=1;i
#include /* 求n个数的最小公倍数*/
int main()
{
\x09int a[1000];
\x09int n,i,r,t;
\x09while(~scanf("%d",&n)) /*我的思路是求出前两个数的最小公倍数再与下一个数求*/
\x09{ for(i=1;i
![c语言 求n个数的最小公倍数 我是哪里错了](/uploads/image/z/17047320-24-0.jpg?t=c%E8%AF%AD%E8%A8%80+%E6%B1%82n%E4%B8%AA%E6%95%B0%E7%9A%84%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0+%E6%88%91%E6%98%AF%E5%93%AA%E9%87%8C%E9%94%99%E4%BA%86)
#include<stdio.h> /* 求n个数的最小公倍数*/
int main()
{
\x09int a[1000]={0,90,15,60,30};
\x09int n,i,r,t;
\x09while(~scanf("%d",&n)) /*我的思路是求出前两个数的最小公倍数再与下一个数求*/
\x09{
\x09\x09for(i=1;i<=n;i++)
\x09\x09{
\x09\x09\x09scanf("%d",&a[i]);
\x09\x09}
\x09\x09for(i=1;i<n;i++)
\x09\x09{
\x09\x09\x09if( a[i] < a[i+1] ) //先要保证小数放到后面
\x09\x09\x09{
\x09\x09\x09\x09t=a[i];
\x09\x09\x09\x09a[i]=a[i+1];
\x09\x09\x09\x09a[i+1]=t;
\x09\x09\x09}
\x09\x09\x09t=a[i]*a[i+1];
\x09\x09\x09while(r=a[i]%a[i+1]) /*求两个数的最大公约数a[i+1]*/
\x09\x09\x09{
\x09\x09\x09\x09a[i]=a[i+1];
\x09\x09\x09\x09a[i+1]=r;
\x09\x09\x09}
\x09\x09\x09a[i+1]=t/a[i+1]; /*求出最小公倍数赋给a[i+1],再与下一个数求最大公倍数*/
\x09\x09}
\x09\x09printf("%d\n",a[i]);//循环结束后,最后一个有效数据是a[i],即a[n]
\x09}
\x09return 0;
}
int main()
{
\x09int a[1000]={0,90,15,60,30};
\x09int n,i,r,t;
\x09while(~scanf("%d",&n)) /*我的思路是求出前两个数的最小公倍数再与下一个数求*/
\x09{
\x09\x09for(i=1;i<=n;i++)
\x09\x09{
\x09\x09\x09scanf("%d",&a[i]);
\x09\x09}
\x09\x09for(i=1;i<n;i++)
\x09\x09{
\x09\x09\x09if( a[i] < a[i+1] ) //先要保证小数放到后面
\x09\x09\x09{
\x09\x09\x09\x09t=a[i];
\x09\x09\x09\x09a[i]=a[i+1];
\x09\x09\x09\x09a[i+1]=t;
\x09\x09\x09}
\x09\x09\x09t=a[i]*a[i+1];
\x09\x09\x09while(r=a[i]%a[i+1]) /*求两个数的最大公约数a[i+1]*/
\x09\x09\x09{
\x09\x09\x09\x09a[i]=a[i+1];
\x09\x09\x09\x09a[i+1]=r;
\x09\x09\x09}
\x09\x09\x09a[i+1]=t/a[i+1]; /*求出最小公倍数赋给a[i+1],再与下一个数求最大公倍数*/
\x09\x09}
\x09\x09printf("%d\n",a[i]);//循环结束后,最后一个有效数据是a[i],即a[n]
\x09}
\x09return 0;
}