50分求助!VS上面没问题...
查看原帖
50分求助!VS上面没问题...
1460185
hechuan_bibe楼主2024/10/10 22:27
#include<stdio.h>
//拆数字,只取第一位数字 
int divide(int* x)
{
	while (*x/10)
	{
		*x = *x / 10;
	}
	return *x;
}
int main()
{
	int n = 0;
	int arr[21] = { 0 };
	int ko[21] = { 0 };//记录各数字的第一位
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
		int u = arr[i];
	    ko[i] = divide(&u);
	}	
	for (int m = 0; m < n; m++)//来回判断
	{
		for (int i = 0; i < n; i++)//判断ko的最大值
		{	
			for (int q = 0; q < n; q++)
			{
				if (arr[q] == 0)
				{
					return 0;
				}
				else
				{
					break;
				}
			}
			int c = 1;//代替计算循环次数
			for (int j = 0; j < n; j++)//循环查找
			{
				if (ko[i] < ko[j] || (ko[i] == ko[j] && arr[i] < arr[j]))
				{
					c = 0;
					break;
				}
			}
			if (c)
			{
				printf("%d", arr[i]);
				arr[i] = 0;
				ko[i] = 0;
			}
		}
	}
	return 0;
}
2024/10/10 22:27
加载中...