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語言中為雙目運算符,且要求兩個運算數都為整型的。
求出的余數與被除數的符號相同。
如:
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
C語言編程gcc如何生成靜態(tài)庫.a和動態(tài)庫.so示例詳解
本文主要敘述了gcc如何生成靜態(tài)庫(.a)和動態(tài)庫(.so),幫助我們更好的進行嵌入式編程。因為有些時候,涉及安全,所以可能會提供靜態(tài)庫或動態(tài)庫供我們使用2021-10-10C語言實現(xiàn)食堂就餐管理系統(tǒng)(帶鏈表)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)食堂就餐管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11opengl實現(xiàn)直線掃描算法和區(qū)域填充算法
這篇文章主要為大家詳細介紹了opengl實現(xiàn)直線掃描算法和區(qū)域填充算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04