A. 求大神能用自定義函數編寫輸出一個數的各個位數(c語言)
# include<stdio.h>
int fun(int x)//自定義函數
{
int a[8],k=0;
while(x)
{
a[k++]=x%10;//提取各個位上的數,存儲你在數組a中
x/=10;
}
for(int i=k-1;i>=0;i--)
printf("%d ",a[i]);
}
int main()
{
int x;
scanf("%d",&x);
fun(x);//調用函數
return 0;
}
B. 統計字元串中數字的個數並輸出用C語言寫出
哎,雖然沒有大洋,我還是幫幫你吧。
#include "stdio.h"
void main()
{
char str1,str2,c;
int sum=0,i;
printf("please input a string:");
gets(str1);
for(i=0;(c=str[i])!='\0';i++)
if(c>='0' && c<='9')
{ sum+=1;
str2[sum-1]=c;/*將符合條件的字元存放到字元數組str2中*/
}
printf("there are %d numbers in the string",sum); /*用來輸出統計的個數*/
pintf("%s",str2);/*輸出具體的數字字元*/
}
C. C語言,如何輸出每一位數字
要輸出整型數值的每一位數字,關鍵在於將每一個數字提取出來。
方法有很多,實現方式更是多種多樣,以最常見的兩種方式舉例說明:
一、傳統方法,通過除法和模除,取出每一位,並輸出。
參考代碼如下:
#include<stdio.h>
voidoutput(intn)
{
inta[10];
intl=0;
/*
循環獲取每一位的值,並存到數組a中。
其中l表示已經獲取到的位數。
由於每次獲取的是個位n%10,所以存在數組a中的是各個位數的逆序。
*/
while(n)
{
a[l++]=n%10;
n/=10;
}
//反序輸出每一位值。
while(--l>=0)
printf("%d",a[l]);
}
intmain()
{
intn;
scanf("%d",&n);//輸入n值。
output(n);//輸出各個位。
return0;
}
二、轉為字元串,然後輸出字元串各個字元。
由於在C語言中,有很多庫函數,比如itoa, sprintf等,都可以很方便的將整數轉為字元串,而逐位輸出字元串各個位元組值是很簡單的,所以可以通過轉為字元串,再輸出的方式輸出各個位的值。
參考代碼:
#include<stdio.h>
voidoutput(intn)
{
chara[11];
inti;
sprintf(a,"%d",n);//轉為字元串。
for(i=0;a[i];i++)//遍歷字元串。
printf("%c",a[i]);//輸出各個位值。
}
intmain()
{
intn;
scanf("%d",&n);//輸入n值。
output(n);//輸出各個位。
return0;
}
D. C語言中如何書寫輸出格式,使輸出後每行輸出固定的數值個數,例如得到六個數,怎麼寫才能使每行輸出三個數
定義一個計數器n=0
用for循環輸出你的數每輸出一個n++,當n%3==0時,就換行
例如
for(i=1;i<=6;i++)
{
n++;
//輸出你行輸出的數字
if(n%3==0)
printf("\n");
}
E. 在C語言中如何輸出數字的位數
1. 使用itoa函數把數轉換為字元串類型,在使用strlen函數統計字元串長度。即數字的位數。
2. 常式:
#include<stdio.h>
#include<stdlib.h>//itoa要使用的頭文件
#include<string.h>//strlen要使用的頭文件
voidmain()
{
inti,len;
charstr[20];
scanf("%d",&i);//讀入一個數字
itoa(i,str,10);//將該數字轉換成字元串類型
len=strlen(str);/*計算字元串的長度[參數1:要轉換的數參數2:轉換後存放到的位置參數3:以十進制轉換]*/
printf("INTotal:%d ",len);
}