700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 从低位开始取出长整型变量s中奇数位上的数依次构成一个新数放在t中

从低位开始取出长整型变量s中奇数位上的数依次构成一个新数放在t中

时间:2019-07-25 05:28:03

相关推荐

从低位开始取出长整型变量s中奇数位上的数依次构成一个新数放在t中

从低位开始取出长整型变量s中奇数位上的数依次构成一个新数放在t中

例如:当s中的数为:7654321时,t中的数为:7531

这里写两种简单的做法

第一种–通过数组

这里需要注意的就是因为获取长数字的数是从后往前取到数组里的,因此输出时需要逆序输出

int get_OddNum(long num,int *t){int i = 0;//数组下标,也作为数组长度返回while (num){t[i++] = num % 10;num /= 100;//因为取的是奇数位}return i;}void main(){long num = 7654321;int arr[5],len;len=get_OddNum(num,arr);for (int i = len-1; i >=0 ; i--)//逆序遍历数组输出{printf("%d", arr[i]);}}

第二种–通过变量

如果不用数组,那么变量也可以实现倒着取数,把那个数拼好

举个例子,12345,如果我们要取后面的4和5,那么其实就是把5先拿出来存好,再取出4,拿它×10再加上5,得到45,如果再多数也只需要一个变量.

那么是不是可以这么写了呢

int get_OddNum(long num){int res = 0;int temp = 1;while (num){res = num % 10 * temp + res;num /= 100;temp *= 10;}return res;}void main(){long num = 7654321;int res;res=get_OddNum(num);printf("%d", res);}

这里的res就是最后要的数,而temp就是用于乘多少个10的变量

很显然还是数组来的清晰明了

如有不足,还望指正

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。