1、1,设 m,n (mn),根据公约数的定义:,当m%t=0&n%t=0时,t为m,n的公约数,则最大公约数在 1n之间,t=min(m,n),m%t!=0|n%t!=0,t=t-1,0,1,#include void main() int m,n,t; scanf(“%d %d“, ,if(m=1;t=t-1)if(m%t=0,输出t,1. 输入两个正整数m和n,求最大公约数和最小公倍数,最小公倍数=m*n/最大公约数,2,直接求最小公倍数,设 m,n (mn),根据公倍数的定义:,当t%m=0&t%n=0时,t为m,n的公倍数,则最小公倍数=m,t=max(m,n),t%m!=0|t%n!=
2、0,t+,0,1,if(mn)t=m;else t=n; while(t%m!=0|t%n!=0)t+;,输出t,3,sn=a+aa+aaa+aa.a,n个a,通项 tn=tn*10+a tn初值=0,求和 sn=sn+tn sn初值=0,2. 输入正整数a和n,计算,例 a=2 i=1 tn=0*2+2=2 i=2 tn=2*10+2 =22 ,#include void main() int ri, repeat;int i, n;long int a, sn, tn;scanf(“%d“, ,4,3. 球从100米高落下,每次落地后反弹原高度的一半,求10次落地时,共经过多少米和反弹高度
3、,每次落下 h反弹 h/2,s=s+h h=h/2 s=s+h,#include #include void main() double s,l,h;int i;s=0;h=100;for(i=1;i=10;i+)s=s+h;h=h/2;s=s+h;s=s-h;/*减去最后反弹高度*/printf(“%lf,%lfn“,s,h); ,5,4 输入整数,逐位输出,各位逆序输出 #include void main() long temp,n,t;scanf(“%ld“, ,输入12345 输出5,4,3,2,1,12345/100001 12345%10000=2345 2345/10002 2
4、345%1000=345 5/15 5%1=0,设n=12345t=10000 while(t!=0) printf(“%d,“,n/t);n=n%t;t=t/10;,求 t=? t=1; while(n=10) t=t*10;n=n/10;,程序为 #include void main() long temp,n,t;scanf(“%ld“, ,6,5.将一笔零钱(大于8分,小于1元, 精确到分)换成5分、2分和1分的硬币。输入金额,问有几种换法?针对每一种换法,输出各种面额硬币的数量和硬币的总数量,要求每种硬币至少有一枚。先输出硬币总数量少的换法。,#include “stdio.h“ int main(void) int count, fen1, fen2, fen5, money;int repeat, ri;scanf(“%d“, ,