1.求一个整数每一位的数字(这里用一个5位数做例子)
注:’/‘ 是除法取整;
a = x / 10000;(万位)
对它的千位取余数再取整(54311%10000=4311,再用4311/1000=4)即是它的千位;
b = (x % 10000) / 1000;(千位)
对它的千位取余数再取整(54311%10000=4311,再用4311/1000=4)即是它的千位;
c = (x % 10000 % 1000) / 100; (百位)
d= (x % 10000 % 1000%100) / 10;(10位)
e = x % 10;(个位)直接用10求余数
以上的百位十位同理:中间位都是取到他的上一位的余数再取本位的整数;
2.int A1()
{
int x, y;
printf("enterx: ");
scanf("%d", &x);
y = -1;
if (x != 0)
if (x > 0)
y = 1;
else
y = 0; //这里要注意else 会和与自己最近的if组成语句;
printf("%5d%5d", x, y);
return 0;
}
3.求一个整数的有多少位
int calculate()
{
int a,count=0;
printf("请输入一个整数:");
scanf("%d", &a);
while (a > 0)
{
a = a / 10;
count++;
}
printf("这个整数有%d位",count);
return 0;
}
4.求一个数字是奇数还是偶数
(1)i%2==0则它是偶数 否则是奇数(也可以用 i%2==1)
(2)i&0==0则它是奇数 i&0==1则它是偶数
5.求一个数的倒过来是多少(用一个5位数做例子)
a是万位,b是千位,c是百位,d是十位,e是个位
re_num = a * 1 + b * 10 + c * 100 + d * 1000+e*10000;
6.getchar();这个函数只能换取字符,不能获取int这种数字类型,否则会转换成ascll码值。