我有两个大数字(类型int)存储在数组中,大小至少为1000, 我想比较这两个数字,以获得一个比另一个更大的信息。我怎么能这样做?
实际上,我会做两件事
答案 0 :(得分:2)
这将取决于数组中大数字的编码!
答案 1 :(得分:2)
答案 2 :(得分:2)
确保您的阵列没有前导零。现在,如果它们的大小不同,则较大的数组必须保持较大的值(出于同样的原因,1000大于10)。否则,只需比较它们就像比较字符串(即从最高有效数字开始)。
答案 3 :(得分:2)
假设您有一个整数数组
int Marks[1000]={22,32,12,..............};
首先,你要对数组进行排序
int g,r,c;
for ( r=0; r <=999; r++)
{
for ( g=r+1;g<=1000;g++)
{
if ( Marks[r] < Marks[g] )
{
c=Marks[r]; // these 3 statements swap values
Marks[r] =Marks[g]; // in the 2 cells being compared
Marks[g] = c;
}
}
}
现在你发现最大的数字是Marks [0],第二个大的是Marks [1]
答案 4 :(得分:0)
int iArray[1000] = { /* ... */ };
int Subtract( int idx1, int idx2 )
{
return iArray[idx1] - iArray[idx2];
}
// Return data type size is increased to prevent overflow.
long Multiply( int idx1, int idx2 )
{
return (long)iArray[idx1] * (long)iArray[idx2];
}
int Compare( int idx1, int idx2 )
{
if ( iArray[idx1] > iArray[idx2] )
{
return 1; // Value at index 1 is greater than value at index 2.
}
else if ( iArray[idx1] < iArray[idx2] )
{
return -1; // Value at index 1 is less than value at index 2.
}
else
{
return 0; // Values at both indexes are equal.
}
}