作者yantchen (球童Yanting)
看板NTUE-CS101
标题Re: [课业] 物件导向作业
时间Thu Mar 5 08:03:23 2009
嗯
我昨天离开去上晚上的课
所以老师还没跟我说
刚刚上ican 缴交时间是 3/11星期三
--
先简单复习一下昨天的字串输入
C++里面有两种字串:char阵列 & string(也许之後会交也许不会)
char阵列 对 cin/cout 就跟基本型态一样 可以直接丢给他
意思是说
int a;
cin>>a; // 把 输入的数字 存到 a
char b;
cin>>b; // 把 输入的文字 存到 b , 只存一个字
// 超过的会存到下一次呼叫cin的变数里
char c[20];
cin>>c; // 把 输入的文字 存到 c , 存你输入的整个字串
// 超过空间的会存到别人家去
注意看喔
cin>>c; 没有 [] 因为 C++ 把 "char阵列" 当作 "一个字串"
反而加上[]的话 他会变成 b 的情况 只能存一个字
例如 cin>>c[0];
虽然 c[0] c[1] 这样的东西只能存一个字 看起来很废
但是他还是会用到的
例如说字串排序的时候
要一个字一个字拿出来比较
这时候他就会用到了
ex: c字串里面 第1个字是 c[0]; 第2个字是 c[1] ... 以此类推
不知道老师有没有要求要用昨天交的动态记忆体配置 ( new / delete )
如果没有的话
就开100个空间给他吧 这样比较简单 ( 你也可以试试看用动态的 )
假设你要存10个人的分数
float d[10];
for(int i=0;i<10;i++){ cin>>d[i]; }
这个是上学期的
那现在改成要存10个人的名子 先假设她们都是"字串"
字串 e[10];
for(int i=0;i<10;i++){ cin>>e[i]; }
然後"字串"就是 char 阵列
所以正确的写法是
char e[10][20]; // 第一个维度是 几个人 ; 第二个维度是 每个人有几的空间
for(int i=0;i<10;i++){ cin>>e[i]; }
基本知识讲到这
你们先自己写写看
有问题再问我吧
给你们一点提示~
现在的作业是 "字串排序"
所以 还记得排序怎麽写吗
有两个回圈 然後比较、交换 ( 回去翻书 or 找以前的程式码 )
字串排序也是有这两个部份
只是比较跟交换的部份 会比之前的麻烦一些
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.68.15.209
1F:推 rockmyangel:我的头头有点痛了 哭 03/05 21:29
2F:→ rockmyangel:我来试试 03/05 21:30
3F:推 jerry771210:哪个头头?? 03/05 21:43