c语言写分数
① 请问在c语言中分数怎么表示啊,即10/9
首先10/9是表达式,但是在C语言中没有表示分数的形式,也就是当要以这种形式给出的时候C已经帮运算出结果了。所以你可以选择两种表达方式。
1、使用字符串,在使用使用时在转化一下。
2、使用小数,就是1.1111...这种,申请一个Double型来储存。
字符串就是 10/9 这种 char fenshu[]="10/9";当要使用的时候,还要再次转换成Double型。所以说,想要的分数形式只是一个外表没实际用处。
(1)c语言写分数扩展阅读:
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。
② c语言可以以分数的形式输出么
如果采用float或者double定义数据类型,则无法以分数形式输出,如果需要用分数形式输出,最好的方法是采用两个int类型的变量储存分子和分母,如下面的代码:
int num; // 定义分子
int den; // 定义分母
double a = 3.5;
num = 7; // 3.5的分子
den = 2; // 3.5的分母
printf("%d ", num); // 输出分子并换行
printf("---- "); // 输出分数线并换行
printf("%d ", den); // 输出分母并换行
(2)c语言写分数扩展阅读:
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语言怎么输入分数
scanf函数是输入的功能,没有强大到能帮你连计算都能一步完成。所以我提供两种方法到达类似的效果,一种是先将1/3计算好,再输入赋值到相应的变量中去,另一种是采用初始化,不过由于1/3的值是0.3333,所以在初始化的时候应该这样初始化float c=1.0/3;
④ c语言,输入一组分数,int n;,然后scanf("%d",&n);printf("%d\n",
摘要 #include
⑤ C语言的分数计算和输出格式问题
C语言里面没有分数,1/3会被当作是1除以3来计算,结果是一个小数。要输出1/3,必须是像字符串一样的输出:printf("1/3");
也可以这样:int a = 1, b = 3; printf("%d/%d", a, b);
N个分数相加的结果还是会被当作小数处理,必须你自己设计算法让它成为a/b的形式
⑥ c语言程序中怎么打出分数
分数问题是一个比较有意思的。
c语言并没有提供分数这个结构,所以你可以用结构体自己实现一个
typedef struct
{
int a;//分子
int b;//分母
}fraction;
与此同时,因为c语言不像c++那样可以在类/结构体中定义函数,所以你要单独定义处理分数的函数
比如化简、判断是否合法(分母不为0)、加减乘除等等
⑦ c语言中如何输入分数 scanf("%d/%d",&a,&b)可以吗
C语言中并没有明确的分数表示,你这么写语法上是没有问题的,只不过你这样属于形式像分数,但是计算机并不知道你想输入的是一个分数,所以你还得将这个分数获得并保存起来,比如float f=a/b*1.0,你可以通过 scanf("%d/%d",&a,&b)这个类分数形式获得分数的值,通过f来进行运算
⑧ c语言里要输入输出分数,该怎么定义变量
c语言里要输入输出分数,可以定义分子和分母均为整型,或长整型量。
然后按照分数的定义对其进行相关的运算,最后也是分别输出分子和分母。
例如,要计算一个分数乘以一个整数:
int a,b,k,c=0;
printf("请输入一个分数:");
scanf("%d/%d",&a,&b);
printf("请输入要乘以几:");
scanf("%d",&k);
printf("%a/%b的%d倍是",a,b,k);
a*=k;
if(a>=b)
{
c=a/b;
a%=b;
}
if(c>0)printf("%d ",c);
if(a>0)printf("%d/%b",a,b);
printf("\n");