永发信息网

求高手,解决C++题目

答案:3  悬赏:70  手机版
解决时间 2021-04-28 07:45
  • 提问者网友:一抹荒凉废墟
  • 2021-04-28 02:27
1.
从键盘输入的5个学生的姓名存放到二维数组中,输出的原始数组,再按

字母降序排列,输出排序后的数组;任意输入一个人名,若找到该学生,

则输出“XXX已找到”,否则,则输出“XXX未找到”。

2.
从键盘输入1个八进制数,输出对应的十进制正整数。
例如:(512)=5*8*8+1*8+2*8的0次方=(330)

3.用递归方法,计算1*1*1+2*2*2+3*3*3+.......+n*n*n,N的值由键盘输



f(n)= { 1 当n=1时
{
{ n*n*n+f(n-1) 当n>1时
最佳答案
  • 五星知识达人网友:不如潦草
  • 2021-04-28 04:04

第二题: 不需要用到字符串..



#include< iostream >
using namespace std;


int main()
{
int t, i, sum;
cout << "输入八进制数: ";
cin >> i;

t = 1;
sum = 0;
while( i )
{
sum += t * ( i % 10 );
i /= 10;
t *= 8;
}
cout << sum << endl;
return 0;
}

全部回答
  • 1楼网友:三千妖杀
  • 2021-04-28 06:29

1.

#include<iostream> #include<cstring> #include<cstdlib> int cmp(const void *a,const void *b) { return strcmp((char*)a,(char*)b); } using namespace std; int main() { char str[5][20]; int i; for(i=0;i<5;i++){ cin>>str[i]; } for(i=0;i<5;i++) cout<<str[i]<<endl; cout<<endl; qsort(str,5,sizeof(char)*20,cmp); for(i=0;i<5;i++) cout<<str[i]<<endl; cout<<endl; char temp[20]; cin>>temp; for(i=0;i<5;i++) if(!strcmp(str[i],temp)){ cout<<temp<<" 已经找到"<<endl; return 0; } cout<<temp<<" 未找到"<<endl; return 0; }

2.

#include<iostream> using namespace std; int main() { int value; cin>>oct>>value; cout<<value<<endl; return 0; }

3.

#include<iostream> using namespace std; int fun(int n){ if(n==1) return 1; else return n*n*n+fun(n-1); } int main() { int n; cin>>n; cout<<fun(n)<<endl; return 0; }

  • 2楼网友:白昼之月
  • 2021-04-28 05:00
1 #include <iostream> #include <algorithm> #include <string> using namespace std; int main() { string name[5]; int i; for(i=0;i<5;i++) cin>>name[i]; sort(name,name+5); for(i=0;i<5;i++) cout<<name[i]<<endl; bool flag=false; string item; cout<<"input the name you want to find:"<<endl; cin>>item; for(i=0;i<5;i++) { if(item==name[i]) { cout<<item<<"had been found!"<<endl; flag=true; break; } } if(! flag) cout<<item<<"had not been found!"<<endl; return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯