C语言练习第四天
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0?tpId=37&tqId=21226&tPage=1&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking
include <stdio.h>
int main(void)
{
int n = 0;
int temp = 0;
int arrayNum[1001] = { 0 };
while (scanf("%d", &n) != EOF) { for (int i = 0;i < n;i++) { scanf("%d", &arrayNum[i]); } for (int i = 0;i < n;i++) { for (int j = i+1;j < n;j++) { if (arrayNum[i] == arrayNum[j]) { for (int k = j;k < n - 1;k++) { arrayNum[k] = arrayNum[k + 1]; } n--; j--; } } } for (int i = 0;i < n - 1;i++) { for (int j = 0;j < n - 1 - i;j++) { if (arrayNum[j] > arrayNum[j + 1]) { temp = arrayNum[j]; arrayNum[j] = arrayNum[j + 1]; arrayNum[j + 1] = temp; } } } for (int i = 0;i < n;i++) { printf("%d\n", arrayNum[i]); } } return 0;
}
接上一次解答明明的随机数
注意两个算法:
1.第一个去重算法
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(arrayNum[i]==arrayNum[j])
{
for(int k=j;k<n-1;k++)
{
arrayNum[k] = arrayNum[k+1];
}
n--;
j--;
}
}
}
2.第二个冒泡排序算法
for (int i = 0;i < n - 1;i++)
{
for (int j = 0;j < n - 1 - i;j++)
{
if (arrayNum[j] > arrayNum[j + 1])
{
temp = arrayNum[j];
arrayNum[j] = arrayNum[j + 1];
arrayNum[j + 1] = arrayNum[j];
}
}
}