注册 登录
编程论坛 C++教室

求助:l两道C++典型题

bensam 发布于 2007-08-26 01:03, 691 次点击
1.
input.txt中的内容为: 11 12 22 55 66
用C++编写程序:将文件中的数字相加并输出在另一文件

2.

由用户输入N并输出图形,如:若N=4,则输出

4444444
4333334
4322234
4321234
4322234
4333334
4444444
7 回复
#2
aipb20072007-08-26 02:26

第2个画圈圈还有点意思
[CODE]#include <iostream>
using namespace std;

void display(int **pi,int n){
for (int i = 0;i < n;++i){
for (int j = 0;j < n;++j)
cout << pi[i][j];
cout << endl;
}
}

void draw(int num){
int n = (num-1)*2+1;
int i,j,t1,t2,k;

int **pi = new int*[n];
for (k = 0;k < n;++k)
pi[k] = new int[n];

for (int cnt = num;cnt > 0;--cnt){
i = j = num-cnt;
t1 = (cnt-1)*2+1+(num-cnt);
t2 = num-cnt;
for (;j < t1;++j)
pi[i][j] = cnt;
for (--j;i < t1;++i)
pi[i][j] = cnt;
for (--i;j >= t2;--j)
pi[i][j] = cnt;
for (++j;i >= t2;--i)
pi[i][j] = cnt;
}

display(pi,n);

for (k = 0;k < n;++k)
delete [] pi[k];
delete [] pi;
}

int main(){
draw(4);
system("pause");
return 0;
}[/CODE]


[此贴子已经被作者于2007-8-26 2:42:51编辑过]

#3
HJin2007-08-26 07:43
fist problem is really simple --- study something about streams first;

2nd problem can be found in the sticky 76 problems or refer to aipb's soln.



#4
bensam2007-08-26 09:26

可以给出第一题的代码 我是菜鸟 不知道怎么编 谢谢

#5
HJin2007-08-26 09:44

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
ifstream ifs;
ofstream ofs;
int a, sum=0;

ifs.open("input.txt");
ofs.open("output.txt");

while(ifs>>a)
{
sum+=a;
}

ofs<<sum;

ifs.close();
ofs.close();


return 0;
}

#6
bensam2007-08-26 10:17
楼上的好像有点问题吧
“ifs>>a”这样可以吗
字符串可以这样直接转换成整型?
#7
aipb20082007-08-26 10:21

毫无疑问是正确的。

LZ要多重视基础啊!

#8
bensam2007-08-26 10:36

好的
谢谢提醒

1