用C语言编写一个程序,要求用户输如一个分数,然后将其约分为最简分式

作者&投稿:众飘 (若有异议请与网页底部的电邮联系)
C语言 约分最简分式?~

此即为求两个数的最大公约数
最大公约数用欧几里得算法
int gcd(int a, int b)
{
if(0 == a%b)
return b;
return gcd(b, a%b);
}
int main()
{
int a,b,c;
scanf("%d %d", &a, &b);
c = gcd(MAX(a,b), MIN(a,b));
printf("%d %d
", a/c, b/c);
return 0;
}

你找到分子和分母的最大公约数以后让分子和分母分别除以这个公约数就行了。

此即为求两个数的最大公约数
最大公约数用欧几里得算法

int gcd(int a, int b)
{
if(0 == a%b)
return b;
return gcd(b, a%b);
}
int main()
{
int a,b,c;
scanf("%d %d", &a, &b);
c = gcd(MAX(a,b), MIN(a,b));
printf("%d %d\n", a/c, b/c);
return 0;
}

#include <stdio.h>
main(){
int a,b,c,e,d,f,g,m;
scanf("%d%c%d",&a,&c,&b);
c=a%b;
e=a;
d=b;
while(c!=0){
a=b;
b=c;
c=a%b;
}
f=d/b;
g=e/b;
if(b>a){
printf("%d",f);
printf("/");
printf("%d",g);
}else{
printf("%d",g);
printf("/");
printf("%d",f);
}
}

求出分子,分母的最大公约数基本就搞定了

用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成。
答://这里其实可以把最大值最小值作为指针传进去的。 MaxMin GetMaxMin(int *array, int length){ int i; MaxMin maxMin; if (length <= 0) return maxMin; //初始化最大值和最小值为数组第一个数 maxMin.Max = array[0]; maxMin.Min = array[0]; for (i = 0; i < length;...

用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成...
答:include <stdio.h>void bubble(int a[], int n){ int i, j, temp; for (j = 0; j < n - 1; j++) for (i = 0; i < n - 1 - j; i++) { if(a[i] > a[i + 1]) { temp = a[i]; a[i] = a[i + 1]; a[i + 1] = temp;...

用c语言编写程序,有一个圆柱体,底面半径为r,高为h,求底面周长,底面面积...
答:h>int main(){ float r,h,s,v,c; printf("请输入圆的底半径和高(用空格分隔):"); scanf("%f%f",&r,&h); c=2*3.14*r; s=3.14*r*r; v=3.14*r*r*h; printf("C=%f\nS=%f\nV=%f\n",c,s,v); return 0;}/*输出:请输入圆的底半径和高(用空格分隔):1 2C=6....

在C语言中编写一程序,实现从键盘输入一个大写字母,要求改用小写字母输...
答:include<stdio.h>int main(){char a;scanf("%c",&a);printf("%c",a+32);}执行效果如下:

C语言 编写一个程序,要求用户输入3个整数x、y、z,然后计算
答:main(){ int h,x,y,z; scanf("%d,%d,%d,%d",&h,&x,&y,&z); printf("%s\n",x<h&&x<y&&x<z?"true":"false"); printf("%s\n",h+x<=y+z?"true":"false"); printf("%s\n",h&1==0&&x&1==0&&y&1==0&&z&1==0?"true":"false"); return 0;} ...

用c语言编写程序,要求输入一个数,求出1到这个数的和
答:include <stdio.h>void main(){int i,n,sum=0;scanf("%d",&n);for(i=1;i<=n;i++) sum+=i;printf("sum=%d",sum);} 运行示例:

C语言编程 编写程序,在屏幕上输出下面的图案(要求用for 循环实现...
答:1、先双击打开桌面上的C-Free5软件。2、打开编程软件以后,创建一个新页面来编写程序;可以直接点击空白页面,也可以先点击【文件】,再点击【新建】。3、代码:#include<stdio.h>//头文件,int main(void)//主函数{ printf("打印一个C图案:"); printf("\n"); printf(" ***"); ...

C语言 编写一个程序 输入周几号 输出改天的英文名 要求用指针处理
答:1 定义字符串指针数组,指向7个英文单词,分别为周一到周日。2 输入周几号。3 取出对应的英文单词并输出。代码:int main(void) { int n; char *week[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; scanf("%d",&n); puts(week[n-1]); ...

急求一个c语言程序,要求用到函数,数组循环和选择……谢谢
答:void GetData (int x,int a[100]);void Sort (int x,int a[100]);void main (){ int x,i,a[100];printf("请输入你要输入的数字的个数:");//输入你想要输入的数字的个数,小于100个。scanf("%d",&x);//输完一个数后按回车键,继续输入下一个数 printf("\n");GetData (x,a...

c语言编写程序;输入一个摄氏温度,要求输出华氏温度。公式为f=9/5*c+...
答:程序如下:include <stdio.h> int main(){ int f;float c;printf("请输入一个华氏温度\n");scanf_s("%d", &f);c = (float)(f - 32) * 5 / 9;printf("它的摄氏温度为:%.2f", c);} 如图:调试通过: