hyfm.net
当前位置:首页 >> C语言提取各位数字 >>

C语言提取各位数字

使用itoa函数把整形数字转换成字符串,就可以方便的输出各位上的值了.

#include <stdio.h> void main() { int integer; printf("请输入一个整数:"); scanf("%d",&integer); printf("%d ",integer/10000); integer=integer%10000; printf("%d ",integer/1000); integer=integer%1000; printf("%d ",integer/100); integer=integer%100; printf("%d ",integer/10); integer=integer%10; printf("%d ",integer%10); }

最后分离的数字都存在了a数组里了.#include <stdio.h>int main(){ int num,i=0,j; int a[100]; printf("请输入一个数字\n"); scanf("%d",&num); do{ a[i++]=num%10; num/=10; }while(num>0); for(j=i-1;j>=0;j--) { printf("%d ",a[j]); } return 0;}

解决步骤如下: 1.首先获取这个数字的位数大小 2.循环位数大小次,在循环中每次除以10,取莫,就得到了这个为的值,也就是这个位上的数字.然后保存到你的数组中,或者输出. 上述思路即可解决你的问题.

如果用VC开发环境的话,可以把数字放入一个字符串对象CString里面,然后用find()方法找到char类型小数点字符“.”,根据find返回的整型数字(小数点在字符串中的位置),作为left()和right()函数的参数可以截取小数点前后的所有数字,每一位单独截取也差不多,用个循环即可.

sum=0; while(a!=0) { sum=sum+a%10; a=a/10; }

C语言的话直接用库函数itoa()就行了,要是用算法的话就是不停地除10取模,再把结果反过来.

可以利用求模运算得到数据的最低位,然后将数据除以10,再重复,直到数据为0,只不过得到的各位是倒序的 x=1234; while ( x ) { printf("%d ",x%10); x/=10; } printf("\n"); 这样会输出4 3 2 1

1、首先打开visual studio软件,新建一个C语言文件,如下图所示.2、接着在C语言文件的顶部导入库内容,如下图所示.3、接着运用scanf函数接收用户输入的字符串.4、然后利用printf函数打印一下用户输入的内容.5、运行程序以后就会弹出如下图所示的CMD界面,输入内容就会自动接收到,然后原样输出内容.6、最后如果接收其他的类型,比如整数,那么类型就需要改变成int,如下图所示,并且scanf里面的接收类型变为d%,提取字符串中的数字.

我不写具体的代码了,写个主要的吧 char str[100]; char key[100]; char st[100]; //提取之后 int k=0; printf("请输入"); scanf("%s", &str); printf("请输入要提取的部分"); scanf("%s", &key); for(int i=0; str[i]!='\0'; i++) { for(int j=0; key[j]!='\0'; j++) { if(str[i] != key[j]) {st[k++] = str[i]; } } } printf("%s", st);

网站首页 | 网站地图
All rights reserved Powered by www.hyfm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com