c 语言 字符串分割,

kodinid 12 0

大家好,今天小编关注到一个比较意思的话题,就是关于c 语言 字符串分割的问题,于是小编就整理了3个相关介绍c 语言 字符串分割的解答,让我们一起看看吧。

  1. c语言怎么拆分一个长数字?
  2. C语言编程,输入一个整数,从高位开始逐位分割并输出它的各位数字,没看懂过程,求大神在重要部分加点注释?
  3. 关于C语言用递归拆分整数?

c语言怎么拆分一个长数字

1、直接以字符串的形式读入数据然后以字符数组的形式挨个拆分每位数字即可。

2、例程:#include<stdio.h>#include<string.h> int main() { a[30] int i,l;printf("请输入一整型数字:");gets(a);printf("数字拆分如下:\n");l=strlen(a);for(i=0;i<l;i++) printf("%d ",a[i]-&#39;0');//将数字字符转为数字值 printf("\n");}

c 语言 字符串分割,-第1张图片-安济编程网
图片来源网络,侵删)

C语言编程,输入一个整数,从高位开始逐位分割并输出它的各位数字,没看懂过程,求大神在重要部分加点注释

#include<stdio.h>

int main(void)

{

c 语言 字符串分割,-第2张图片-安济编程网
(图片来源网络,侵删)

int b,t,x,c;

printf("Input an integer: ");

scanf("%d",&x);

c 语言 字符串分割,-第3张图片-安济编程网
(图片来源网络,侵删)

c=0;

if(x>=0)//当x为正数时,***设是12345

{

t=x%10;//取出x的个位的数5,赋给t,此时t为5。对10取余取出个位的数,下面还有很多次用到

关于C语言用递归拆分整数?

将一个整数的各个位分离出来的最简单方法就是模10,取个位数,直到该变为0。

参考代码

#include <stdio.h>void main(){ int n=0; scanf("%d", &n ); do { printf("%d\n", n%10 ); //每次输出个位 n/=10 ; //缩小10倍,去除原来的个位。 }while(n);}

但这整拆分的特点是从后向前输出每一位数。

如果仅是为了输出,还想正向输出每一位数,则可用递归函数来解决。(也可以实现逆向输出)

参考代码:

#include <stdio.h>void split_int( int n ){ if ( n>0 ) { //printf("%d\n", n%10 );//逆向输出,放开这里,关闭下面的printf().即:先输出当前个位,再去高位的数 split_int( n/10 );//先去输出高位的数 printf("%d\n", n%10 ); //再输出当前的个位数 }}void main(){ int n; scanf("%d", &n); split_int(n);}

如果想把分离开的数据存储到数组中,则最简单的方法是将整数用sprintf()存储到字符数组中,然后,遍历数组,逐位取出。

参考代码:

#include <stdio.h>void main(){ int n,i; char str[20]; scanf("%d", &n); sprintf(str,"%d", n); for( i=0;str[i];i++ ) //正向输出 printf("%c\n", str[i] ); for( i--;i>=0;i-- ) //逆向输出 printf("%c\n", str[i] );}

到此,以上就是小编对于c 语言 字符串分割的问题就介绍到这了,希望介绍关于c 语言 字符串分割的3点解答对大家有用。

标签: 输出 拆分 printf