过眼云烟 发表于 2015-10-22 00:36:28

学习C++中的痛苦事

本帖最后由 过眼云烟 于 2015-10-22 00:38 编辑

下面程序统计字符数组c中0、1、2及其他字符出现的次数,分别存放在变量i0、i1、i2中,统计结束后输出它们的值。要求:分析出现结果的原因,如何修改使结果正确。



#include

using namespace std;

   int main()

   {

char c[]=”0123456789001112222”;

int i0=0,i1=0,i2=0,i3=0;

for (int i=0;i<19;i++)

switch(c)

{case’0’:i0++;

case’1’:i1++;

case’2’:i2++;

default:i3++;

}

cout<<”i0=”<

cout<<”i1=”<

cout<<”i2=”<

cout<<”i3=”<

return 0;

}

这道题我在编译器里面发现压根儿不能正常运行,结果我还得分析出题人的本意是什么,莫名其妙的错误一大堆,出现错误的原因是在太多,编译器给出的错误提示也是超级长的一大片
这道题我是百度到的答案(今天交了作业,尚不知道能不能成功应付差事成功),但是我并不想单纯的只是应付差事,可是我实在黔驴技穷了.......
还有,如果以后遇到类似的问题咋办?{:9_230:}
还有,我手滑了,按了标记已解决,我怎么撤销“已经解决”这个提示?

小人 发表于 2015-10-22 09:20:13

没啥痛苦的
1. 你的#include 后面没有<iostream>
2. 你使用的单引号和双引号都是全角的   ,你应该使用半角的
3. case 应该加上break不然结果不准确#include <iostream>

using namespace std;
int main()
{

    char c[]="0123456789001112222";

    int i0=0,i1=0,i2=0,i3=0;

    for (int i=0;i<19;i++)

    switch(c)

    {
      case '0':i0++;
      break;

      case '1':i1++;
      break;
      case'2':i2++;
      break;
      default:i3++;

    }

    cout<<"i0="<<i0;

    cout<<"i1="<<i1;

    cout<<"i2="<<i2;

    cout<<"i3="<<i3;

    return 0;

}

过眼云烟 发表于 2015-10-28 22:57:26

本帖最后由 过眼云烟 于 2015-10-28 23:07 编辑

小人 发表于 2015-10-22 09:20
没啥痛苦的
1. 你的#include 后面没有
2. 你使用的单引号和双引号都是全角的   ,你应该使用半角的


{:9_219:}多谢大神回答,感激不尽,唉,虽然还是不懂,但是仍然非常感谢,我大学学习C++和数据结构的课程,很是纠结,上课就像听天书,看课本就像看加密数据,作业只能应付差事,小甲鱼大神的数据结构视频,我看着也是一塌糊涂:cry

Prolearning 发表于 2015-10-29 22:11:53

过眼云烟 发表于 2015-10-28 22:57
多谢大神回答,感激不尽,唉,虽然还是不懂,但是仍然非常感谢,我大学学习C++和数据结构的课 ...


大学的c++基础课程还是很基础的吧。认真听课,多敲代码,多思考,就可以了啊

过眼云烟 发表于 2015-11-11 21:36:24

Prolearning 发表于 2015-10-29 22:11
大学的c++基础课程还是很基础的吧。认真听课,多敲代码,多思考,就可以了啊

:sad其实是我底子不好,按理说本该考不上那个大学的,但是后来机缘巧合之下,居然卡线过了,所以就连数组指针都不会的情况下,上大学直接学面向对象,差了一大截:cry

Prolearning 发表于 2015-11-12 14:58:19

过眼云烟 发表于 2015-11-11 21:36
其实是我底子不好,按理说本该考不上那个大学的,但是后来机缘巧合之下,居然卡线过了,所以就连数组 ...

不 ··········你误解了。很多人上大学之前也没学过编程,但一样报了计算机专业啊。一样能成为学霸
大学的课程一般都很基础,稍微努力一点你肯定能学得会,而且编程的基础教程既不要求你会数学,也不要求你会英语(这些都是钻进去以后才会用到的)。
如果你连大学的基础教程都没学懂,那你以后更难学了。关键还是看你是不是真的想学好

过眼云烟 发表于 2016-7-20 15:47:10

本帖最后由 过眼云烟 于 2016-7-20 15:53 编辑

Prolearning 发表于 2015-11-12 14:58
不 ··········你误解了。很多人上大学之前也没学过编程,但一样报了计算机专业啊。一样能成为 ...

之前一直忘了账号和密码,所以一直没有回复您的帖子,也没登录,估计挖坟会被惩罚,可是我实在忍不住回复您一下。1我是专升本的,考上本科以后,第一个学期就同时学面向对象的C++,还有数据结构,还有编译原理之类的课程,我一下子就懵逼了,我表示我已经重修1次了,C++和数据结构还是没过关,差一点就过了{:10_266:}总之来说就是,我们学校要求,考上大学之前要有一定的计算机C基础才行,而我是没有的,然后我就懵逼了{:9_230:}

Prolearning 发表于 2016-8-10 10:39:14

过眼云烟 发表于 2016-7-20 15:47
之前一直忘了账号和密码,所以一直没有回复您的帖子,也没登录,估计挖坟会被惩罚,可是我实在忍不住回 ...

好多课你学的时候不明白。但是你努力学,学到最后就会觉得其实没那么难。
像你说得哪些课,其实在大学里面教的都是挺基础的。而这些基础也挺重要的
最重要的是多敲代码,多思考。你或许成不了大牛,但是成为一名好学生还是不难的。
页: [1]
查看完整版本: 学习C++中的痛苦事