当前位置:首页 » 编程语言 » c语言写分数

c语言写分数

发布时间: 2022-04-30 18:15:02

① 请问在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");

热点内容
linux下php编译安装 发布:2025-05-15 08:30:37 浏览:591
c语言八进制十六进制 发布:2025-05-15 08:22:17 浏览:282
华为安卓如何更新鸿蒙 发布:2025-05-15 08:18:52 浏览:373
工商密码器是什么 发布:2025-05-15 08:18:50 浏览:751
c语言自考 发布:2025-05-15 07:52:42 浏览:501
压缩的玉 发布:2025-05-15 07:51:22 浏览:790
android的控件 发布:2025-05-15 07:50:36 浏览:553
南岗法院服务器ip地址 发布:2025-05-15 07:46:02 浏览:288
实况如何退出账号安卓 发布:2025-05-15 07:45:56 浏览:919
深入编译器 发布:2025-05-15 07:41:35 浏览:879