给一个三位数,要求拆分出百位十位,个位。然后输出。
以前我们在水仙花那次求水仙花数
提到过经典的取法
我们再次展示一下:

#include<stdio.h>
int main()
{int number,b,s,g;printf("please put in you's numbers:\n");scanf("%d",&number);b=number/100;s=(number%100)/10;g=(number%10);printf("%d %d %d\n",b,s,g);return 0;
}


然后我们今天学习一下指针法
首先,当我们声明一个变量时,系统会在内存中分配适当的存储空间,以保存该变量的值,由于每一个字节都有唯一的地址编号,因而内存存储空间都有自己的地址编号。又由于内存地址只是编号,因而又可以把它复制给变量,这种保存地址的变量就称为指针变量。
我们并不关心指针的实际值,因为每次运行时,指针的值都会发生变化的(每次运行意味着变量重新分配地址)。
我们不能直接保存地址的值,只能利用地址运算符(&),通过保存在地址中的变量来获得地址的值。位于变量之前的地址运算符(&)将可返回该变量的地址。运算符&只能用于单个变量或数组元素。
如果想了解指针的基础知识详情的话可以看一下这个朋友写的C指针详情
然后我们用指针拆分一下这个三位数。注意:指针(pointer)我们一般定义时为*p_变量的样式。
在这里我们也顺便复习了上次的自定义函数,自定义函数实例

#include<stdio.h>
void getGsb(int number,int *p_b,int *p_s,int *p_g)
{*p_b=number/100;*p_s=(number%100)/10;*p_g=number%10;
}
int main(void)
{int numbers,b,s,g;printf("please put in you's numbers:\n");scanf("%d",&numbers);getGsb(numbers,&b,&s,&g);printf("%d %d %d\n",b,s,g);return 0;
}


巩固:然后同样的方法,我们也可以自定义一个swap函数,来交换两个数。

#include<stdio.h>
void swap(int *p_x,int *p_y)
{int t;t=*p_x;*p_x=*p_y;*p_y=t;}
int main(void)
{int a,b;printf("This is swap program\n please put in you's numbers:\n");scanf("%d%d",&a,&b);swap(&a,&b);printf("you's swap numbers  is %d %d \n",a,b);return 0;
}

运行结果

好了,基本也达到了目的。谢谢阅读。

C语言拆分一个三位数。以及交换两个数(常规法复习加指针法学习)相关推荐

  1. c语言输入一个三位数由小到大排序,c语言程序设计练习题.doc

    c语言程序设计练习题 顺序程序设计 1.输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321). .输入任意大小的三个整数,判断其中是否有两个奇数一个偶数.若是,则输出"YE ...

  2. 求一个三位数 其值等于其各位阶乘之和 c语言,求一个三位数,其值等于其各位阶乘之和...

    写在前面: 题解是对具体题目的编程实现,不会具体讲解C语言语法.请先大致学习好语法,自己敲敲代码后再看题解(上来就直接看题解的习惯不好哟~).在每一题的题解之前,会列出本题涉及到的语法知识供参考,可以 ...

  3. 怎样用才c语言定义一个三位数,怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和。要求主函数包括输入输出和调用该函数。...

    点击查看怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和.要求主函数包括输入输出和调用该函数.具体信息 答:#include void main(){ int a,sum=0; pri ...

  4. 用JavaScript语言判断一个三位数是否为水仙花数

    // 提示用户输入一个三位数 // 如果不是三位数或者不是数字,则提示"非法输入": // 如果输入合法,判断这个三位数是否为水仙花数. // (每一位数的三次方之和等于这个数本身 ...

  5. c语言用指针两个字母交换,c语言指针基础之用指针交换两个数(代码实例)

    用指针交换两个数: void swap(int *p,int *q) { int temp; temp = *p; *p = *q; *q = temp; } int main() { int a = ...

  6. c语言不用第三个变量 实现两个数的对调,下面程序功能是不用第三个变量,实现两个数对调操作 ....docx...

    下面程序功能是不用第三个变量,实现两个数对调操作 ... [3.1]下面程序的功能是不用第三个变量,实现两个数的对调操作.#include main(){ int a,b:scanf("%d ...

  7. (排序5)快速排序(Hoare,选key的随机数与三数取中优化,挖坑法与前后指针法等)

    快速排序 (Hoare大佬版本) 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中 的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左 ...

  8. C语言中判断一个三位数是否是水仙花数,判断三位数是否为水仙花数

    用C语言写出判断一个三位数是否为水仙花数的程序 请给正确的答案,不懂的别进 1.一个主程序,输出所有的水仙花数程序,可参考如下: #include int main(int argc, char *a ...

  9. python输入一个三位数、输出它的逆序数值_c语言 从键盘输入一个三位数,输出该数的逆序数。c语言中从键盘输入一个三位整数...

    c语言 从键盘输入一个三位数,输出该数的逆序数. c语言中从键盘输入一个三位整数 www.zhiqu.org     时间: 2020-12-08 c语言中从键盘输入一个三位数,输出该数的逆序数,可以 ...

最新文章

  1. Java中log4j控制写入日志开关
  2. 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的
  3. Cloud for Customer里XML view的加载原理
  4. 文档排序模型--查询似然Query Likelihood
  5. 【jvm】jvisualvm 离线下载安装插件
  6. 野火stm32资源下载(视频,手册等)
  7. js实现签名功能(vue中使用电子签名)
  8. php获取ip归属地
  9. DateTime转为特定时区时间
  10. HDU 5755 Gambler Bo(数论)
  11. css table 左右滑动和强制不换行
  12. ol-地图上添加图标
  13. 飞机大战之-添加背景
  14. CentOS7安装onlyoffice实现word的在线预览和编辑
  15. linux内核双链表实现快速排序
  16. 简单网页制作代码 HTML+CSS+JavaScript香港美食(8页)
  17. 利用python发邮件
  18. codeforces 776C
  19. (五)FTD基于应用的控制
  20. 解析GPS车载终端的十大品牌

热门文章

  1. python爬取js_Python爬取javascript(js)动态网页
  2. 《Thinking In Java》作者:不要使用并发
  3. linux signal用法,Linux 信号 signal 用法详解及注意事项
  4. IT项目开发团队建设与管理总结
  5. docker安装mysql遇到的问题
  6. [backtrack教程]从零开始,教你如何破解WEP、WPA无线网络
  7. visual studio 批量注释与取消批量注释快捷键
  8. outlook中抄送操作和163撤回邮件
  9. yolov5 代码内容解析
  10. fater-rcnn绘制loss图