C++11:为什么全错了??
查看原帖
C++11:为什么全错了??
977778
__Harry_Haiyun__楼主2023/7/6 15:54

死循环,我的思路是这样的:

定义:n,f[n],f1[n],flag=1
输入(n)
 |
循环::
|    |
|  如果(f[i]在数组f1中出现过)
|  |是            否|
|  (退出循环)    如果(f1[i]==0)
|   |             |是    否|   
|   |         (退出循环)  |
|   |                      |
卜 —|——————————————————————
    |
   如果(flag==1)
   |是        否|
  f1[i]=f[i]
  
  
  输出

Code:

#include <bits/stdc++.h>
#define mod 1000000007
#define MOD 998244353
using namespace std;
int main()
{
	int n;
	cin >> n;
	int f[n],f1[n],flag = 1;
	for (int i = 0; i < n; i++) 
	{
	    cin >> f[i];
	    for (int j = 0; j <= i; j++)
	    {
	        if (f[i] == f1[j]) 
	        {
	            flag = 0;
	            break;
            }
	        if (f1[j] == 0) break;
        }
        if (flag) f1[i] = f[i];
    }
    for (int i = 0; i < n; i++)
    {
        if (f1[i] != 0) cout << f1[i] << " ";
    }
	return 0;
}
2023/7/6 15:54
加载中...