求大牛指点!
题目:任意输入n个正整数,求出其中互不相同的数的个数num,以及此num个数的出现次数,将结果输出。帮忙看看那里出错啦。运行结果总是不对。
[code=C/C++][/code]#include<iostream.h>
int main()
{
int n,i,number,j,a[1000]={0},num[1000]={0};
while(1)
{
int a[1000]={0},num[1000]={0};
cout<<"Please input the number of your digitals:"<<endl;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>number;
for(j=1;j<i;)
{
if(a[j]==a[i])
{
num[j]++;
break;
}
j++;
}
if(j==i)
{
a[i]=number;
num[i]++;
}
}
for(int k=0,i=1;i<=n;i++)
if(num[i]==1)
{
k++;
cout<<a[i]<<"出现"<<1<<"次"<<endl;
}
else
cout<<a[i]<<"出现"<<num[i]<<"次"<<endl<<endl;
}
return 0;
}
[解决办法]
学习使用调试功能,这个程序不复杂,很容易就知道哪儿出错了
[解决办法]
参考下面的程序:
- C/C++ code
#include <iostream>using namespace std;int main(){ int n, i, j, number, unique_number; int a[1000] = {0}; int num[1000] = {0}; unique_number = 0; cout << "Please input the number of your digitals:" << endl; cin >> n; for(i = 0; i < n; ++i) { cin >> number; for(j = 0; j <= unique_number;) { if(a[j] == number) { num[j]++; break; } else { a[unique_number] = number; num[unique_number] = 1; ++unique_number; break; } } } for(i = 0; i < unique_number; ++i) { cout << a[i] << " 出现 " << num[i] << " 次" << endl; } return 0; }
[解决办法]
------解决方案--------------------
[解决办法]
[解决办法]
要先把图片上传到相册,然后才放图片链接到插入图片,才行。。
[解决办法]
- C/C++ code
//在你的基础上改了一下,看看是你要的吗#include<iostream.h>int main(){ int n,i,number,j; while(1) { int a[1000]={0},num[1000]={0}; cout<<"Please input the number of your digitals:"<<endl; cin>>n; for(i=0;i<n;i++) { cin>>number; for(j=0;j<i;j++) { if(a[j]==number) { num[j]++; break; } } if(j==i) { a[i]=number; num[i]++; } } for(int k=0,i=0;i<n;i++) { if(num[i]==1) { k++; cout<<a[i]<<"出现"<<1<<"次"<<endl; } else if (num[i]!=0) { cout<<a[i]<<"出现"<<num[i]<<"次"<<endl<<endl; } } } return 0; }