#include "stdio.h"
void main()
{
int nums[10]={1,2,1,2,3,3,5,6,7,7};
int i;
int n=1;int j=1;
for(i=1;i<10;i++)
{
for(j=0;j<i;j++)
{
if (nums[i]!=nums[j]) n++;
}
}
printf("%d",n);
}
if (nums[i]!=nums[j]) n++;
这里不对,一次比较不同不能说明这个数字就是不重复的。
#include "stdio.h"
void main()
{
int nums[10]={1,2,1,2,3,3,5,6,7,7};
int i;
int n=1;int j=1;
for(i=1;i<10;i++)
{
for(j=0;j<i;j++)
{
if (nums[i] == nums[j]) break;
}
if(i == j)
n++;
}
printf("%d",n);
}
6
是不对啊:你在计算数组中不同的数对的个数,而不是计算不同的数个数
正确代码如下:
void main()
{
int nums[10]={1,2,1,2,3,3,5,6,7,7};
int i;
int n=1;int j=1;
for(i=1;i<10;i++)
{
for(j=0;j<i;j++)
{
if (nums[j]==nums[i]) break;//判断是否重复,重复跳出循环
}
if(j==i)n++;//没重复,n++
}
printf("%d",n);
}