当前位置:首页 » 《资源分享》 » 正文

怎样操作一个数的每一位_zhengjiatao2002的博客

7 人参与  2021年10月01日 12:43  分类 : 《资源分享》  评论

点击全文阅读


比如说,每一位都进行打印,或者每一位的和

就先%,之后再/

并且用while循环

循环条件写这个数本身

比如,打印一个数的每一位

#include<stdio.h>
int main()
{
    int num = 0;
    scanf("%d", &num);
    int n = 0;
    
    while(num)
    {
        n = num % 10;
        printf("%d ", n);
        num /= 10;
    }
    
    return 0;
}

不过这样我们会发现一个问题

就是它是倒着打印的

如果我们要正着打印的话

我们可以使用一个数组来存放它的每一位

然后用[ ]来一个一个来进行访问

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    int num = 0;
    int arr[50] = { 0 };
    int i = 0;
    int cnt = 0;

    scanf("%d", &num);
    while (num)
    {
        arr[i] = num % 10;
        num /= 10;
        i++;
        cnt++;//这样我们就能知道打印了多少位了
    }
    for (i = cnt - 1; i >= 0; i--)
        //这里cnt为啥要-1呢,因为你所有数都存放好了之后,cnt还+了一次        

    {
        printf("%d ", arr[i]);
    }

    return 0;
}

 

接着我们还可以延伸到进制转换

比如10进制转换为6进制

让我们来试一下吧

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);
	int arr[50] = { 0 };
	int i = 0;
	int cnt = 0;

	while (num)
	{
		arr[i] = num % 6;
		num /= 6;
		i++;
		cnt++;
	}
	for (i = cnt - 1; i >= 0; i--)
	{
		printf("%d", arr[i]);
	}
	return 0;
}

 

总结

  1. 想得到一个数的每一位就 % 然后 /

  2. 想得到n进制的就 %n 然后 /n


点击全文阅读


本文链接:http://zhangshiyu.com/post/29111.html

每一位  打印  存放  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1