1.f()函数求的不是最小公倍数吧,求的是最大公约数2.第21行应该放在for循环外面且你指定了只给z[5]读键盘值,应该独立写一个for循环先让z[]获取值,如:for(i=0;i<5;i++){scanf("%d",&z[i]);}