8.分子分母约分问题以及求最大公因数分数可以表示为分子/分母的形式。编写一个程序要求用户输入一个分数然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时不需要表达为整数又分数的形式即11/8还是11/8而当分子分母相等时仍然表达为1/1的分数形式。1.一个个地除【通C语言2中的第六个】for(inti2;imin;i){while(fenzi%i0fenmu%i0){//注意的是这个while如果改成if就会有错例如84/40应该连续除以两个2但如果是if除以一个2然后i3最后只能得到42/20zizi/i;mumu/i;}}2.先找最大公因数可以用辗转相除法辗转相除举个例子a252b105252➗1052余42然后a105b42105➗422余21然后a42b2142➗212余0余数是0结束(21是结果)#includestdio.hintgcd(inta,intb){returnb0?a:gcd(b,a%b);}//递归写法intmain(){inta,b;scanf(%d/%d,a,b);// 利用 scanf 直接跳过斜杠intggcd(a,b);printf(%d/%d\n,a/g,b/g);return0;}如果不用递归可以用循环intgcd(inta,intb){while(b!0){inttempa%b;ab;btemp;}returna;}9.念数字输入一个整数输出每个数字对应的拼音。当整数为负数时先输出fu字。十个数字对应的拼音如下0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu对于这个题我的想法是可以把拼音按顺序存到一个数组里0到9这些数字正好可以做数组下标正好能对应起来然后用循环依次把输入的数字们一个一个取出来。由于拼音不是一个字符我们可以用二维数组来实现。#includestdio.h#includestring.hintmain(){charnum[15];scanf(%s,num);//用数组存chars[10][5]{ling,yi,er,san,si,wu,liu.qi,ba,jiu};intlenstrlen(num);inti0;if(num[0]-){printf(fu );i1;//**特别注意的如果是负数数字们要从下标1开始不要忘记改下标**}for(;ilen;i){charnnum[i];printf(%s,s[n-0]);//**这里注意如果直接写n用的是ASCII数组越界必须要-0!!!!!!!!!!!**if(i!len-1){printf( );}}return0;}给出输入输出样例-600fu liu ling ling