本文目录一览:
如何用C语言,实现简单的分数化简
/* Note:Your choice is C IDE */
//如何实现简单分数的化简
#include "stdio.h"
//只要找出最大的因子就行了 辗转相除法
int gcd(int n,int m)
{
int temp,r;
//把大的数放在n里面
if(nm)
{
temp=n;
n=m;
m=temp;
}
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
return n;
}
void main()
{
int a,b;//a是分子 b是分母
printf("please input a and b:");
scanf("%d%d",a,b);
printf("%d/%d",a/gcd(a,b),b/gcd(a,b));
}
求加分
c语言可以以分数的形式输出么?
如果采用float或者double定义数据类型,则无法以分数形式输出,如果需要用分数形式输出,最好的方法是采用两个int类型的变量储存分子和分母,如下面的代码:
int num; // 定义分子
int den; // 定义分母
double a = 3.5;
num = 7; // 3.5的分子
den = 2; // 3.5的分母
printf("%d\n", num); // 输出分子并换行
printf("----\n"); // 输出分数线并换行
printf("%d\n", den); // 输出分母并换行
扩展资料:
C语言参考函数
C语言isgraph()函数:判断一个字符是否是图形字符
C语言isdigit()函数:判断一个字符是否为数字
C语言iscntrl()函数:判断一个字符是否为控制字符
C语言isalpha()函数:判断一个字符是否是字母
C语言isalnum()函数:判断一个字符是否是字母或者数字
int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0
int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0
参考资料来源:百度百科-c语言
参考资料来源:百度百科-C语言函数
如何用C语言,实现简单的分数化简
找分母分子的最大公约数,然后同除以这个数
#includestdio.h
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
int x,y;
while(scanf("%d/%d",x,y)!=EOF)
{
if(y==0)
{
printf("分母不能为0\n");
continue;
}
int c=gcd(x,y);
x/=c;
y/=c;
printf("%d/%d\n",x,y);
}
return 0;
}