⑴ c语言如何分割字符串并将结果放入数组
如果是从输入读,那不用存字符串,直接存数组就好了
比如
scanf(“%d,%d....”,a,a+1,a+2...)
如果已经是字符串了,比如str,那么用sscanf
比如sscanf(str,“%d,%d....”,a,a+1,a+2...)
⑵ C语言中,如何把一个数据均分为若干段,然后依次存入一个整型数组的各个元素中
作为字符读入每读到固定个数就写入数组:
int k = 0;
char str[10000];
scanf("%s",str);
for(int i=0;i<=strlen(str);i++){
a[k]=str[i]-'0';
if(i>0 && i%3==0)k++;
else a[k] *=10;
}
⑶ c怎么把一个数拆分
1. c语言如何拆分数字
小弟有这么一种做法,我觉得这个比较快一点。写得不是很好,你看下先啦!
#include<stdio.h>
#include<string.h>
#include<windows.h>
int main()
{
char a[30];
int i,l;
printf("请输入一整型数字:");
gets(a);
printf("数字拆分如下:\n");
l=strlen(a);
for(i=0;i<l;i++)
printf("%d ",a[i]-'0');将数字字符转为数字值
printf("\n");
}
你看一下,还可以的话,麻烦你采纳我,Thank you。
2. C 怎么把拆分的数字加起来
#include<stdio.h>
int main()
{
int number,right_digit,total;
printf("Enter your number.\n");
scanf("%i",&number);
do {
right_digit = number % 10;
number = number/10;
total = total + number.
printf("%i%i\n",right_digit, total);
}
while(number !=0 );
return 0;
}
3. C语言怎么拆分一个数字
#include<stdio.h>
#include<math.h>
void main()
{
int a,b,c,n;
double d;
printf("输入一个三位数\n");
scanf("%d",&n);
a=n/100;百位
b=(n%100)/10;十位
c=n%10;个位
d=pow(a,3);pow()是一个函数,包含于math.h文件中,此处是求a的3次方
pow(m,n)用法如下,m是幂,n是指数,运算出来的结果是double类型
printf("a=%d,b=%d,c=%d\n",a,b,c);
printf("a的三次方是%f\n",d);
}
4. 如何用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] );
}
5. c语言数字拆分
pow函数学过吧? 就是平方pow(a,b) a的b次方
我暂时想不到什么简单的算法 先给个复杂的
#include<stdio.h>
#include<math.h>
int main()
{ int n,s=-1,d,m;
scanf("%d",&n);
m=n;
while(m)
{
m/=10;
s++;
}
while(s>-1)
{
d=n/pow(10,s);
n-=d*pow(10,s);
printf("%d",d);
s--;
}
}