帮我设计C++程序,谢谢

2024-12-12 16:51:16
推荐回答(2个)
回答1:

先给你做了三个,剩下的也不难,都是类似的,有时间会给你做上,你也可以参照我做的自己写。
1.#include
#include
using namespace std;
int fun(int a[])
{
int i,j=0,e,b,c;
for(i=10;i<32;i++)
{
e=i*i%10;
b=i*i/10%10;
c=i*i/100;
if(e==b||e==c||b==c)
{
a[j]=i*i;
j++;
}
}
return j;
}
int main()
{
int a[100],n,l;
l=n=fun(a);
while(n>0)
{
cout<<"第"< n--;
}
cout<<"共找到"< system("pause");
return 0;
}

2#include
#include
using namespace std;
int fun(int a[][3])
{
int i,j=0,e,b,c,k;
for(i=3;i<28;i++)
{
e=37*i%10;
b=37*i/10%10;
c=37*i/100;
int l=0;
if((b*100+e*10+c)%37==0&&(e*100+c*10+b)%37==0&&b!=0&&e!=0)
{
if(i<11)
{
a[j][0]=37*i;
a[j][1]=b*100+e*10+c;
a[j][2]=e*100+c*10+b;
j++;
}
else
{for(k=0;k<7;k++)
//cout< if(37*i==a[k][1]||37*i==a[k][2])
l=1;
if(l==0)
{
a[j][0]=37*i;
a[j][1]=b*100+e*10+c;
a[j][2]=e*100+c*10+b;
j++;
}
}
//j++;
}
}
return j;
}
int main()
{
int a[100][3],n,l;
l=n=fun(a);
while(n>0)
{
cout<<"第"< n--;
}
cout<<"共找到"< system("pause");
return 0;
}
才发现37这个数很特殊!

3.#include
#include
using namespace std;
void fun(int a[])
{
int i;
a[1]=1;
a[2]=2;
for(i=3;i<21;i++)
{
if(i%2!=0)
a[i]=a[i-1]+a[i-2];
else
a[i]=a[i-2]-a[i-1];
}
}
int main()
{
int a[100],i;
fun(a);
for(i=1;i<21;i++)
{
cout< if(i%5==0) cout< }
system("pause");
return 0;
}
后两个不给你做了,给你些思路,你自己写吧,第四个,用循环,有两种思路,一个是把循环条件定为从m到n,顺序判断,另一个是把千位,百位,十位,个位拿出再按条件判断,这个思路有点乱,但做好了一定会比上一个好。
第五个建议把千位,百位,十位,个位拿出做判断,这样能节省一些时间。

回答2:

晕,其实这些题目都不难的...只是太多懒得想了