C语言中求余运算符的使用解读
作者:bufanq
这篇文章主要介绍了C语言中求余运算符的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
C语言中求余运算符的使用
C语言的算数运算符中最有特点的是求余运算符%,它可以应用到很多问题的求解中,下面是几个例子。
例1:输出1到100的整数,要求每行输出5个。
每行输出5个,意味着在5,10,15,20…等5的倍数的数字后面需要输出换行,而这些数的共同的特点是能被5整除,余数为0,描述成条件即为:i%5==0。
#include "stdio.h" int main() { int i; for(i=1;i<=100;i++) { if(i%5==0) printf("%3d\n",i); else printf("%3d ",i); } }
当然,每行不一定是输出5个,也可以是6个,7个…,n个,只需要把条件换成 i%n==0即可。
例2:从键盘输入一个3位整数,对其进行拆分,分别输出其个、十、百位。
整数拆分可以借助整除和求余运算来解决。
#include "stdio.h" int main() { int num,g,s,b; scanf("%d",&num); b = num/100; //取出百位 s = num%100/10; //取出十位 g = num%10; //取出个位 printf("g = %d, s = %d, b = %d\n", g, s, b); }
例3:已知今天是星期五,求n天后是星期几?从键盘输入n。
每个星期是7天,不管从星期几开始,7天后又转回到星期几,是典型的转圈问题。用%7来解决,0代表星期天,1-6代表星期一到六。
#include "stdio.h" int main() { int n,result; printf("Please input n:"); scanf("%d",&n); result = (n+5)%7; switch(result) { case 0: printf("\nThe day is Sunday!"); break; case 1: printf("\nThe day is Monday!"); break; case 2: printf("\nThe day is Tuesday!"); break; case 3: printf("\nThe day is Wednesday!"); break; case 4: printf("\nThe day is Thursday!"); break; case 5: printf("\nThe day is Friday!"); break; case 6: printf("\nThe day is Saturday!"); break; } }
C语言中求余运算符的注意事项
求余运算符为“%”,在C语言中为双目运算符,且要求两个运算数都为整型的。
求出的余数与被除数的符号相同。
如:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。