解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <math.h>
typedef struct Node
{
int pre;
int change;
int flag;
}node;
int changer(int a)
{
int b[100];
int i, j, l, n, temp, result = 0;
n = a;
l = 0;
while (n != 0)
{
b[l] = n % 10;
n = n / 10;
l++;
}
for (i = 0;i < l - 1;i++)
for (j = i + 1;j < l;j++)
if (b[i] > b[j])
{
temp = b[i];
b[i] = b[j];
b[j] = temp;
}
for (i = 0;i < l;i++)
result += b[i] * pow(10, i);
return result;
}
int main(void)
{
node a[1000];
int i, j, k, l, n, temp, irrelevant[1000];
while (scanf("%d", &n) && (n != 0))
{
for (i = 0;i < n;i++)
{
scanf("%d", &a[i].pre);
a[i].change = changer(a[i].pre);
a[i].flag = 0;
}
for (i = 0;i < n - 1;i++)
for (j = i + 1;j < n;j++)
if (a[i].change == a[j].change)
{
a[i].flag = 1;
a[j].flag = 1;
}
for (l = 0, k = 0;l < n;l++)
if (a[l].flag == 0)
{
irrelevant[k] = a[l].pre;
k++;
}
if (k == 0)
printf("None\n");
else
{
for (i = 0;i < k - 1;i++)
for (j = i + 1;j < k;j++)
{
if (irrelevant[i] > irrelevant[j])
{
temp = irrelevant[i];
irrelevant[i] = irrelevant[j];
irrelevant[j] = temp;
}
}
for (l = 0;l < k;l++)
{
if (l == k - 1)
printf("%d\n", irrelevant[l]);
else
printf("%d ", irrelevant[l]);
}
}
}
return 0;
}
0 分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复