C语言中求余运算符的使用解读

2023-02-24 11:02:43 运算符 解读 中求

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语言中为双目运算符,且要求两个运算数都为整型的。

求出的余数与被除数的符号相同。

如:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章