c語言輸入一串字符統(tǒng)計(jì)個(gè)數(shù) C語言如何獲取用戶輸入的隨機(jī)個(gè)數(shù)的一串?dāng)?shù)字?
C語言如何獲取用戶輸入的隨機(jī)個(gè)數(shù)的一串?dāng)?shù)字?這個(gè)問題可以通過臨時(shí)定義一個(gè)大數(shù)組,記錄條目數(shù),然后動(dòng)態(tài)申請(qǐng)數(shù)組來解決。以輸入整數(shù)為例,代碼如下://#include“StdAfx。H“//如果是VC 6
C語言如何獲取用戶輸入的隨機(jī)個(gè)數(shù)的一串?dāng)?shù)字?
這個(gè)問題可以通過臨時(shí)定義一個(gè)大數(shù)組,記錄條目數(shù),然后動(dòng)態(tài)申請(qǐng)數(shù)組來解決。以輸入整數(shù)為例,代碼如下://#include“StdAfx。H“//如果是VC 6.0,用這一行。
#include”stdio。H“
#include”字符串。H “
#包含”標(biāo)準(zhǔn)庫。H“
int*myinput(int*x){
]int n=sizeof(int),*P
#if n==4//如果是32位int平臺(tái)
int a[0xFFFF
]#a[0x07fff
]#ENDIF
*x=0
而(scanf(%d”,a*x)>0)//輸入數(shù)據(jù)
想法:因?yàn)樵贑語言中整數(shù)除以整數(shù)等于整數(shù),所以一個(gè)數(shù)除以10就少了一個(gè)位,所以位數(shù)可以依次除以10,直到它的位為0,除以10的位數(shù)加上1。參考代碼:#include<stdio。H>int main(){int n,sum=0scanf(%d,&n)while(n){sum n/=10}printf(“位數(shù)是%dn”,sum)return 0}/*12345位數(shù)是:5*/
C語言如何判斷輸入數(shù)字的個(gè)數(shù)?
#include<stdio。H>#包含<string。H>int conumfromstr(char*,int)int main(){char STR[21]printf(“enter characters within 20:”)Scanf(%s”,STR)printf(“字符串中的數(shù)字字符數(shù)為%d”,connumfromstr(STR,strlen(STR)))返回0}int connumfromstr(char*P,int len)//計(jì)算字符串{int I,con=0 for(I=0I<leni){if(P[I]>=“0”&&P[I]<=“9”)con}首先返回一個(gè)整數(shù)。然后循環(huán):讀1個(gè)字符。如果字符是逗號(hào),則讀取1個(gè)整數(shù)。如果不是逗號(hào),則循環(huán)結(jié)束。如果讀取整數(shù)時(shí)出錯(cuò),則循環(huán)結(jié)束。#include#include main(){int x[100],n=0,i int c if(scanf(%d,&x[n])==1)n而(1){scanf(%c,&c)if(c!=“,”)中斷if(scanf(”%d“,&x[n])==1)n else break}printf(”nI read:”)for(i=0i)