数组有1000个元素,设为数组a[1000],存放1-1000的数值,但是现在有一个数值重复了,指扫描一遍,找出那
数组有1000个元素,设为数组a[1000],存放1-1000的数值,但是现在有一个数值重复了,指扫描一遍,找出那个重复的数...
数组有1000个元素,设为数组a[1000],存放1-1000的数值,但是现在有一个数值重复了,指扫描一遍,找出那个重复的数
展开
3个回答
展开全部
#include <stdio.h>
int main(int argc, constchar * argv[])
{
//思路是先定义两个数组,给a数组提前给定值,b数组全部初始化为0,一遍扫面过程中将判断b【a【i】】的值是否为1,如果为一就直接输出第i个数值和第i,如果b【i】不等于1,则说明相同的数没有出现过,并且给b【i】赋值为1作为标记
int a[10]={1,3,4,6,7,8,9,3,3,0},b[10]={0};
for (int i=0; i<10; i++)
{
//用户
if (b[a[i]]==1)
{
printf("相同的是%d\n",a[i]);
printf("%d\n",i);
break;
}
b[a[i]]=1;
}
// insert code here...
printf("Hello, World!\n");
return0;
}
这个方法正确,可以将10改成1000,甚至更大,我只是做了一个测试。
int main(int argc, constchar * argv[])
{
//思路是先定义两个数组,给a数组提前给定值,b数组全部初始化为0,一遍扫面过程中将判断b【a【i】】的值是否为1,如果为一就直接输出第i个数值和第i,如果b【i】不等于1,则说明相同的数没有出现过,并且给b【i】赋值为1作为标记
int a[10]={1,3,4,6,7,8,9,3,3,0},b[10]={0};
for (int i=0; i<10; i++)
{
//用户
if (b[a[i]]==1)
{
printf("相同的是%d\n",a[i]);
printf("%d\n",i);
break;
}
b[a[i]]=1;
}
// insert code here...
printf("Hello, World!\n");
return0;
}
这个方法正确,可以将10改成1000,甚至更大,我只是做了一个测试。
展开全部
可以这样来处理,
先设置一个临时数组来存放已存在数的标记。如果对应位置上已被存放过,那就是再存放的时候就是重复的了。
int b[1000]={0,};
int n;
for(int i=0;i<1000;i++)
{
if(b[a[i]-1]++)>0
{
n = a[i];
break;
}
}
先设置一个临时数组来存放已存在数的标记。如果对应位置上已被存放过,那就是再存放的时候就是重复的了。
int b[1000]={0,};
int n;
for(int i=0;i<1000;i++)
{
if(b[a[i]-1]++)>0
{
n = a[i];
break;
}
}
更多追问追答
追问
if那是不是写错了
追答
嗯,应该是:
if(b[a[i]-1]++ >0)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
#define MaxSize 1000
int A[MaxSize];
bool B[MaxSize];
void init(){
for (int i = 0;i<MaxSize;++i)
{
A[i]=i+1;
B[i]=false;
}
}
void main()
{
init();
A[200] = 673;
for (int i=0;i<MaxSize;++i)
{
if(B[A[i]-1]) {
printf("重复数据是%d\n",A[i]);
break;
}
else{
B[A[i]-1] = true;
}
}
}
#define MaxSize 1000
int A[MaxSize];
bool B[MaxSize];
void init(){
for (int i = 0;i<MaxSize;++i)
{
A[i]=i+1;
B[i]=false;
}
}
void main()
{
init();
A[200] = 673;
for (int i=0;i<MaxSize;++i)
{
if(B[A[i]-1]) {
printf("重复数据是%d\n",A[i]);
break;
}
else{
B[A[i]-1] = true;
}
}
}
更多追问追答
追问
是不是有的地方写错了?
追答
比如?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询