c語言查找數字
Ⅰ 50分送上 c語言 在字元串中找到連續的數字 比如123
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
void number(char *,int); //函數聲明 @@@
char ch[80];
int m;
gets(ch);
m=strlen(ch); //字元串長度
number(ch,m); //調用函數
getch();
return 0;
}
void number(char *p,int n)//@@@
{
int i,a[20],k,size;
for(i=0,k=0;i<n;i++)
{
if(*(p+i)<='9'&&*(p+i)>'0') //判斷是否為數字 @@@
{
a[k]=*(p+i)-48;
if(*(p+i)-*(p+i+1)==1) //判斷下一個字元是否是此數字-1; @@@
{
while(*(p+i)-*(p+i+1)==1)
{
a[k]=a[k]*10; //把數字賦值給a數組
a[k]=a[k]+*(p+i+1)-48;//@@@
i++;
}
k++;
}
else if(*(p+i)-*(p+i+1)==-1) //判斷下一個字元是否是此數字+1; @@@
{
while(*(p+i)-*(p+i+1)==-1)
{
a[k]=a[k]*10;
a[k]=a[k]+*(p+i+1)-48;//@@@
i++;
}
k++;
}
}
}
for(i=0;i<k;i++)//@@@
printf("%d\n",a[i]);
}
Ⅱ C語言,查找數組里重復出現的數字;
檢查一個數中每位的數字是否重復,
n%10來得到當前最小位的值,
每次迭代都n/=10 ,使得數字都向右移動一位
n>0來檢測是否已經檢測完了。
比如123這個數;
n%10
==
3,說明3已經出現,所以digit_seen[3]
==
true了,如果檢測到digit_seen[3]
==
true,說明已經有3這個數字了,就重復了,所以就直接跳出循環,此時n!=0,再通過檢測n就可以判斷了。
n/=10來將數字向右移動一位,這個時候n
==
12
繼續前兩步,直到n=0(因為任何小於等於9的整形數除以10都是0)
Ⅲ c語言編程如何尋找輸入數字中沒有出現的數字
可以這樣。
#include
int main(void)
{
char ch;
while(1)
{
ch=getchar();
if(ch>'0' && ch <'9')
{
getchar();
printf("next\n");
}
else
break;
}
return 0;如果你要求輸入一個字元串,然後判斷是不是數字字元組成的字元串的話
#include
#include
int main(void)
{
char str[1024];
int idx=0;
int isnumber=1;
memset(str,0,sizeof(str));
while(isnumber)
{
fgets(str,1024,stdin);
for(idx=0;str[idx]!='\0';idx++)
{
if(!(str[idx]>'0' && str[idx]<'9' || str[idx]=='\n'))
{
isnumber=0;
break;
}
}
if(isnumber!=0)
printf("next\n");
}
}
Ⅳ 在一個數組中查找一個數,用C語言怎麼寫代碼
#include<卜激stdio.h>
intmain(void)
{
inti,j,k=0,sz[10]={5,75,89,428,576,5986,7543,8524,9805,1057};
printf("請輸入要唯讓查找指弊局的數:");
scanf("%d",&j);
for(i=0;i<10;i++)
if(sz[i]==j)
{
printf("sz[%d]=%d ",i,sz[i]);
k++;
}
if(!k)
printf("數組中沒有您要查找的數。 ");
return0;
}