📄 一道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 + -