| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 620 人关注过本帖
标题:想了一个周末,还是不会。
收藏  订阅  推荐  打印 
sullen
Rank: 2
等级:注册会员
帖子:49
积分:590
注册:2006-3-13
想了一个周末,还是不会。

一,求一N维数组,对角线的和。
二,字符串先输入,后倒序输出。
用C++ 语言写。

搜索更多相关主题的帖子: 倒序  对角线  语言  字符  
2006-3-21 19:57
师妃暄
Rank: 12Rank: 12Rank: 12
等级:版主
威望:26
帖子:756
积分:8302
注册:2006-3-1

#include<iostream>
#include<list>

using namespace std;

int main()
{
const MAX=100;
char str[MAX];

cout<<"Enter sentences:";
cin.get(str,MAX);

list<char> theList;

for(int j=0;j<MAX;j++)
theList.push_back( str[j] );

list<char>::reverse_iterator revit;

revit = theList.rbegin();
while( revit != theList.rend() )
cout<<*revit++<<" ";
cout<<endl;

return 0;
}

这个程序可以实现

但有个小问题,就是J循环的最大限制不好限制。我用了MAX所以会出现“?”


有实力才会有魅力 实力来自坚持不懈的努力
2006-3-21 20:42
sullen
Rank: 2
等级:注册会员
帖子:49
积分:590
注册:2006-3-13

谢谢暄暄,我会好好学习的。

2006-3-21 21:43
surivering
Rank: 1
等级:新手上路
帖子:17
积分:270
注册:2005-3-5

#include<iostream>
#include<string>
using namespace std;
void main()
{
char *p;
int n;
cout<<"How many words do you want to input?";
cin>>n;
p=new char[n];
for(int i=0;i<=n-1;i++)
cin>>p[i];
for(i=n-1;i>=0;i--)
{cout<<p[i];
}

}
这样不用限定最大的数目,想输多少输多少

2006-3-21 22:58
zorro2zzz
Rank: 2
等级:注册会员
威望:1
帖子:96
积分:1060
注册:2005-9-11

没有delete?

编程是啥东西,让俺瞧瞧……
2006-3-22 00:58
heliujin
Rank: 3Rank: 3
等级:中级会员
帖子:232
积分:2466
注册:2006-3-14

最后应该加一句 delete[]p吧
2006-3-22 08:08
师妃暄
Rank: 12Rank: 12Rank: 12
等级:版主
威望:26
帖子:756
积分:8302
注册:2006-3-1

cout<<"How many words do you want to input?";

这不太好吧?

别人输入一个长句,难道还去数一下多少个字符吗?

这个方面体现不出C++的优势啊

有实力才会有魅力 实力来自坚持不懈的努力
2006-3-22 18:09
师妃暄
Rank: 12Rank: 12Rank: 12
等级:版主
威望:26
帖子:756
积分:8302
注册:2006-3-1

以下是引用sullen在2006-3-21 21:43:00的发言:
谢谢暄暄,我会好好学习的。


有实力才会有魅力 实力来自坚持不懈的努力
2006-3-22 18:11
woodhead
Rank: 6Rank: 6
等级:金牌会员
威望:9
帖子:1125
积分:11452
注册:2005-7-18

[CODE]#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack<char> a;
char ch;

while((ch=cin.get())!='\n')
a.push(ch);

while(!a.empty())
{
cout<<a.top();
a.pop();
}
system("pause");
return 0;
}[/CODE]


2006-3-22 20:52
linlin
Rank: 2
等级:注册会员
帖子:134
积分:1440
注册:2006-3-14

借用了楼上的方法,用vector
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<char> a;
char ch;
while((ch=cin.get())!='\n')
a.push_back(ch);
int i=a.size()-1;
while(i)
{
cout<<a[i];
i--;
}
cout<<a[0];
system("pause");
return 0;
}

woyaochengshuyidianle 我真的什么也不会
2006-3-22 21:33
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.115964 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved