使用VS2019
ISO C++14 标准 (/std:c++14)
取一个整数 a 从右端开始的 4~7 位。
取一个整数 a 从右端开始的 4~7 位。
输入十进制数:123456789,结果为:6543
关于这个问题,我发现一个怪事!
整个CSDN很多(不敢说太多!)抄袭,世风日下!而且我没明白,这个和题干有毛关系???
以下是别人的代码:
#include <stdio.h>
int main()
{
unsigned a,b,c,d;
printf("请输入整数:\n");
scanf("%o",&a);
b=a>>4;
c=~(~0<<4);
d=b&c;
printf("%o\n%o\n",a,d);
return 0;
}
下面是我自己的练习,
//取一个整数 a 从右端开始的 4~7 位。
//输入十进制数:123456789,结果为:6543
#include <stdio.h>
int main(){
//输入的整数需要大于7位
int num;
while (1){
printf("请输入一个整数\n\n");
scanf_s("%d", &num);
if (num < 1000000) continue;
else break;
}
//计算整数的各个位数
int Digits=0;
while (1) {
Digits++;
if (Digits > 3 & Digits < 8) {
printf("%d", num % 10);
num = num / 10;
}else num = num / 10;
if (Digits == 8) break;
}
return 0;
}