永发信息网

哪位大侠帮忙编一下下面3个C程序,不胜感激啊!!!!

答案:1  悬赏:20  手机版
解决时间 2021-06-07 18:28
  • 提问者网友:温旧梦泪无声
  • 2021-06-06 22:25

编程,输入一个正整数n,再输入n个整数,请输出最小值。

8-4 若一个3位整数的各位数字的立方之和等于这个整数,称之为“水仙花数”。例如:153是水仙花数,因为153=13+53+33 求所有的水仙花数。

8-5求Sn=a+aa+aaa+……+aa…a之值,其a中代表1 到 9 中的一个数字。例如:a代表2 ,则求 2+22+222+2222+22222(此时n=5),a和n由键盘输入。

最佳答案
  • 五星知识达人网友:毛毛
  • 2021-06-06 23:18

第一个:#include<iostream>
using namespace std;


int main()
{
int n;
int a[100],min;
cout<<"请输入那个整数:";
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
min=a[0];
for(i=0;i<n;i++)
if(min>a[i])
min=a[i];
cout<<min;
return 0;
}



第二个:#include<iostream>
using namespace std;


int main()
{
int m;
for(m=100;m<1000;m++)
{
int g=m%10;
int s=(m%100)/10;
int b=m/100;
if(m==g*g*g+s*s*s+b*b*b)
cout<<m<<" ";
}
return 0;
}


结果为153,370,371,407



第三个:
#include<iostream>
using namespace std;


int main()
{
int n,a,m[9],i;
long int Sn(0);
cout<<"请输入a值:";
cin>>a;
cout<<endl<<"请输入n值:";
cin>>n;
m[0]=a;
if(n<=5)
{
for(i=1;i<n;i++)
m[i]=m[i-1]*10+a;
}
if(n>5&&n<=9)
{
for(i=1;i<5;i++)
m[i]=m[i-1]*10+a;
for(i=5;i<n;i++)
m[i]=m[i-1]/10;
}
for(i=0;i<n;i++)
Sn+=m[i];
cout<<Sn;
return 0;
}



均已通过,但是代码比较繁琐,楼主可以优化


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯