?? 一道c語言的試題.txt
字號:
從鍵盤讀入一個字符轉(長度小于256),將其中連續的數字作為一個整數,一次存放到一個的數組a(元素個數 10)中。若出現相同的數字,則只儲存一個。如:輸入“a123x456 17960?302tab5876”,將132放在a[0],456放在a[1],。。。。然后將其按照從小到大的順序進行排序,最后按次序輸出到標準輸出上。
#include <stdio.h>
#include <string.h>
int isInt(char ch)
{
if(ch >= '0' && ch <= '9')
return 1;
return 0;
}
int isIn(int num[], int v, int n)
{
int i = 0;
while(i < n)
{
if(v == num[i])
return 1;
++i;
}
return 0;
}
int main()
{
char str[256];
int num[256];
int count = 0;
int i,tmp,flag,len,j;
i = 0;
gets(str);
len = strlen(str);
while( i < len && isInt(str[i]) == 0) ++i;
tmp = 0;
for(; i <= len; ++i)
{
if(isInt(str[i]) == 1)
{
flag = 0;
tmp =tmp*10 + str[i]-'0';
}
else
{
if(flag == 0)
{
if(isIn(num,tmp,count) == 0)
{
num[count++] = tmp;
}
flag = 1;
}
tmp = 0;
}
}
for(i = 0; i < count; ++i)
for(j = 0; j < count; ++j)
{
if(num[i] < num[j])
{
tmp = num[i];
num[i] = num[j];
num[j] = tmp;
}
}
for(i = 0; i < count; ++i)
printf("%d ",num[i]);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -