⑴ 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--;
}
}