求电脑高手解决个C语言问题

来源:百度知道 编辑:UC知道 时间:2024/04/30 15:52:31
1.编一个程序,先随机产生100个两位正整数并输出,再找出其中最小的和次最小的正整数(可能相等)。要求不对这100个正整数进行排序。
2.编一个程序,求满足下面条件的100以内的所有自然数对:两个自然数的和与差都是完全平方数。如:17和8 (17 + 8 = 25, 17 – 8 = 9)。

(1)
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main()
{
int z[100];
int i , j ,x, cao ;
cout << "一百个随机数为:";
for(i=0; i<100; ++i)
{
srand(time(0));
z[i]=rand()%100+10;
for(j=0;j<i; ++j)
{
while(z[i]==z[j])
{
z[i]=rand()%100+10;
j=-1;
}
}
if(z[i]>=100)
cout<<z[i]-10<<' ';
else
cout<<z[i] <<' ';
}
cout <<"\n\n";
for(int ding=0;ding<2; ++ding)
{
cao=ding;
for(int y=ding+1;y<100; ++y)
if(z[y]<z[cao])
cao=y;
if(cao>ding)
{
int k =z[ding];
z[ding]=z[cao];
z[cao]=k;
}
}
for(int m=0;m<100;++m)