分享
 
 
 

程序员考试补课笔记-第五天

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

今天是离散学礼的最后一天了,我的成绩嘛,当然也不会高得去那里了,还很有可能第一呢(倒数啊)。都怪自己不好,不过也不能全怪。因为学校本来的电脑课程也不少了,可就是全部都在教图形方面呢,什么PS 、CW都要我们编程班的去学,真有点不爽。

好了,也不说太多自己学校的羞事了。那么下面我们就开始来学习今天的知识吧,很多朋友都是我整天在打字,可我自己觉得打一篇这些也不是浪费很多时间,而且收益的更多(早上听完,晚上复习)。故语有云"温故知新",我觉得这句特别有道理的,因为通常我在看书里也看不到老师在课堂里向我们提出的问题。好了好了,我还是赶紧说说今天的学习吧。昨天老师布置的我们一道答,我昨天都给忙了做,而是今天突然想起才冲冲的赶着做,是这样的一道题:

给一个不多于5位的正整数,要求:1,这个数有几位2,打印每一位的数,3逆序打印,比如321 输出 123。

好在这答也不难,用了一会儿时间就做完了。

main()

{

int n; int num;

int i=0,a[5];

printf("请输入不大于5位的正整数");

scanf("%d",&num);

do

{

do[i] =num % 10;

num /=10;

i++;

}while(num!=0);

n=i;

printf("LEN%d",n);

for(i=n-1;i>=0;i--)

printf("%d",a[ i ]);

for(i=0;i<n;i++)

printf("%d",a[ i ]);

}

做这题时我也用到了昨天老师教的画图方法作了验算,不过还是要上机求正否,这样一来可以锻练一下编写程序。我们大家都各有各的方法,有些是很长(用Switch语句呢),我也不知道他怎么想的了,不过不同人有不同思想是正确的,编程这玩意没有完全统一的答案的。那么你们想想你们有什么方法做呢,好吧,就给五分钟你们做做吧。……好了,时间到了,下面我再说说我的另一位同学做的方法吧,他是用字符数组的,也很简单方便可以实现。你们做的怎么了?如果有好的方法也可以大家交流啊,因为我写这些都是为了大家(也为了自己)。大家应该都看得明白我的程序吧,因为我的思想就是这么单纯。

老师说完了昨天的作业后就开始说今天要讲的课程了。今天的主题是循环语句,其实C语言里也只是这么几条循环语句吗?相比QB来说真的可以算是见大场面了,因为QB里单是循环语句已经有七八种之种,至于有那些我也记不太清了。那么下面讲讲C语言的好了。C语言的循环语句一共有三种,先说说比较简单的前两种吧!

While ( 条件 ) { 语句;} 和do { 语句;}

while ( 条件 );

这里我想重复一下老师给我们说的一个笑话,就是有一个小女孩问妈妈拿糖的小故事。有一个很乖的小女孩总是先问妈妈可不可以吃糖,如果得么批准了就拿一粒来吃。可是有一次她就很拿着一粒吃着了,跟着才问妈妈我可不可吃糖啊,如果可以当然就是继续可以吃了,否则就不准了,不过已经有一粒在口了。这个刚好可以比喻这两个循环语句,第一个循环语句是先当条件真才可以继续下去,否则退出。而第二个呢,就是直运行里面的程序先,跟着才到条件里看是否可以再继续运行多一次。好了这两个比较简单的就看看C语言里特有的一个for循环语句,这个循环比较特别,如第五天图一

它的结构也比较特别,而且里面三个表达式是非常灵活的。这里随便给出一个程序让大家看看:

int i=0;

for(;;) if(i++>10) break;

printf("%d",i);

这说这里i是多少呢?这里就关系到这个运算符了++递增运算符,可以有两种方式,一种是i++就像上面的那样,至于另一种就是++i,这里的答案是前者等于12,而后者就等于11。这里全是因为++递增的两个方式所至,那么我们要好好掌握一下这个,你自己试试动手上机编一下。另一个程序好让看出这个递增运算符的:

int i=0;

if (i++) printf("a"); /* 如果这里为真的就输出a */

else printf("b"); /*否则就是输出b */

自己试试看,是不是很明显可以知道这个递增符的原理呢,这里说一下吧,其实i++这个呢就是先那i比较后才运算++的,所以很自然就是0那么结果当然就是输出b了,则那个++i就是先把i加1才比较,那么真就输出a了,好了,那么++递增和- -递减都是同一性质的。不过要注意的是这两个递增递减运算符都是要变量才行的,不可以和常量运算。

好了,说完了循环语句当然就是要懂得去运用在编程里了啊!所以老师马上出了一道题让我们想想,不过相信有些人都是研究过的了,就是"魔方阵",可是老师说虽然这个魔方阵虽然有直接的算法可以运算出来,但是要让我们思考用循环做这题,利用计算机的能力来完成,但看到要排列这么多的数,循环也更不要说要很多了,所以我根本没法想下去了(开始头晕起来)。最后还是没有一个能做出,只好听老师说了,不过老师也没有完全说完,只是给了我们一个结构,如第五天图二

让我们自己有兴趣就去完成它吧,我对数学这东西最没有FEEL的了。

好了,接着继续第二题,也是一个排列组合的问题,你们手头上应该都有老潭的《C程序语言第二版》了,那么请大家翻翻书到第121页,6.15题,这题就是排列组合的题目了。这其实也是有一个规律可以找到的,不过不是我们找到的而是老师给我们说,今天这堂课真的有太多的难题了,至少对于我来说。下面我也没有什么好插嘴的了,只好示出老师的方法吧,如第五天图三

程序也在下。

char xyz[]=['X','Y',"Z'};

int i,j,k;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(j==i0 continue;

for(k=0;k<3;k++)

if(k==i || k==j) continue;

printf("A-%c\n",xyz[i]);

prihtf("B-%c\n",xyz[j]);

prihtf("C-%c\n",xyz[k]);

让大家自己看明白了。好了,今天我的头也特别的晕,肩膀也特别的酸。不过我还是要努力的!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有