c语言怎么表示一个数除以另一个数等于如果一个正整数能表示

c语言中怎么使一个数除以另一个数的余数恒为非负数我写的一个如下#includeint main(){
scanf("%d %d",&a,&b);
printf("%d",a%b);
return 0;}但当我输入的ab为-1
2 时 输出的数就是-1.这是不符合作业要求的我还写了一个逻辑上好像没问题,但还是不可以#includeint main(){
int a,b,c,d;
scanf("%d %d",&a,&b);
printf("%d",d);
printf("%d",a%b);
return 0;}
a%b中输出结果的正负只与a也就是分子有关,所以当a是负数时你把它转成正的就可以了#includeint main(){int a,b;scanf("%d%d",&a,&b);printf("%d",a>0?(a%b):(-a%b));return 0;}
我如果输入-5和4,-5=-2*4+3正余数就应该是3,而你给我的输出的结果就是1,还是不对啊
不好意思,我不知道负数取余怎么算,我还以为跟正数一样呢。
那就把负数那一部分改一下算法。
int main()
int a,b,i,c;
scanf("%d%d",&a,&b);
if(-a<=b*i)
printf("%d\n",b*i+a);
else printf("%d\n",a%b);
为您推荐:
其他类似问题
第一个程序改成printf("%d",abs(a%b));
为什么我改了之后,输出结果还是一个负数啊 abs好像是求绝对值吧,但是如果我输入的是-5和4
正余数就该是3 但这种输出的却是1了啊
abs再#include里面
扫描下载二维码c语言题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
你可能喜欢查看: 1334|回复: 9
如题,请热心的坛友帮帮忙.
宁静淡泊人生
这是大数加法问题,我给你一个参考代码 输入至多100行的文本,每行是一个至多100位的十进制无符号大整数,最后的输入行为零。要求计算出这些大整数的和,并以十进制方式显示。 示例输入: 890
示例输出: 0370...
听小乌龟的话
整数有范围的 建议用三个整型数组,一个表示加数,一个表示被加数,另一个表示结果 每个元素只有5位或者别的固定的位数,这样就是几千位也没关系 别的我就不说了,太简单了
妹妹好好美
求两个超长正整数的和(C语言),求助,谢谢!悬赏分:0 - 解决时间: 14:04 【问题描述】编写程序实现两个超长正整数(每个最长80位数字)的加法运算。 ...
大学C语言编程问题:用TC编写以下程序:给定一已升序排好的整数数..... 用字符串实现,额呵呵。 0 | 评论
20:43 gmg31ifl | 四级 ...
#include void main() { int a,b,c,d,e,f,g; printf(&请输入两个正整数:&); scanf(&%d%d&,&a,&b); f=a; g=b; if(a
#include &time.h& #include &stdio.h& #include &stdlib.h& int main() { int a,b,c,d; srand(time(0)) ; while(1) { a = rand()%100; b=rand()%100; printf(&%d+%d=&, a,b); scanf(&%d&, &d); if(d & 0) return 0; if(d==a+b)printf(&Right!&); else printf(&Error!&); } return 0; }
C语言编一个程序完成64位数据(无符号)的加法,减法...(& \t\t\t长整数计算器\n&); for(k=0;k
用C语言编写一个程序,从键盘输入一个正整数,输出这个整数的所有因子
C语言程序:从键盘输入三个整数,按照从小到大输出,条件运算符实现 3 2009...
#include int main() { scanf(&%d&, &n); do { printf(&%d&, n % 10); }while(n /= 10); printf(&\n&); return 0; }C语言基础题及答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言基础题及答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢C语言怎么表示一个数除以100后取整数?_百度知道
C语言怎么表示一个数除以100后取整数?
%d&%d&int b = a%100;return 0.h&gt,输出的不是1#include&lt, &a), b);}为什么输入123;scanf(&;printf(&;int main(){int a
提问者采纳
即可。PS:;b=a%100%是取余/是除把int&nbsp:不懂还可继续问;改成int&b=a/100
原来是这样,那我要取a=123中的十位数,也就是2,要怎么样?
a=a/10;&&/*把末位去掉*/b=a%10;&&/*把第二位得出,赋予b*/
哈哈,我刚刚也想出来了,十分感谢
提问者评价
其他类似问题
为您推荐:
c语言的相关知识
其他1条回答
模100当然是23了 ,怎么会是1呢
除100才是1
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 正整数用什么字母表示 的文章

 

随机推荐