解题思路:
注意事项:
参考代码:
#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分
0 人评分
不容易系列2 (C语言代码)浏览:597 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:327 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:787 |
数组与指针的问题浏览:718 |
程序员的表白 (C语言代码)浏览:598 |
震宇大神的杀毒软件 (C语言代码)浏览:1080 |
前10名 (C语言代码)浏览:727 |
矩阵的对角线之和 (C语言代码)浏览:1356 |