2005-12
27

钱到手了

By xrspook @ 19:16:29 归类于: 烂日记

千盼万盼,钱终于到手了!!!上一个学年的奖学金这个学期都快要考试了才发放。真是……

今天下午的行程真够“丰富”。首先要到东区实验楼的422,冒着要被那个C语言老师责备的危险问她问题。我知道,她对学生问一些很“弱智”的问题很烦躁,如果你是问些上课她有说但你又不知道的那你就死定了!!去到的时候“傻婆”正在那里,加上我一共有3个同学在问。站在那里,老师正和一个同学解释着,不是向我望来。我感觉很奇怪。当轮到傻婆的时候情况更是好笑,首先她是问了2道指针的选择题,到了第三道的时候老师简直是坚持不住了,压抑不住要骂人了,有是那句“我已经在课上说过N次了,数组名就代表数组的首地址!你问的我上课都说过了!你就拿着那个准则去判断就好了……”与此同时,她还不停地向我望来,好像要我响应她一样,我知道,如果我响应的话她一定会很爽的,但我没有这么做,毕竟问问题的是我的同学。然后,老师干脆把傻婆的书盖起来然后塞到傻婆的手里。然后老师对我说:“你有什么问题要问?”我看着就觉得好笑,但我不敢。然后就开始问问题。

每次问到有关教材的问题老师就会好像要开始发脾气的样子,她会反问我她上课时是怎么说的,然后说她上课演示的不是书本上的原题,然后叫我不要拿书本问她,叫我到我上课的那个教室把课件那走去研究。但我的问题又怎么是书本那么简单,课本只是个开始。然后我就开始问那个实验教程的题目,开始的时候她似乎是毫不费劲,但随着页数的后移,她不能那么爽了,终于,我问到这个题目:

输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。

#include"stdio.h"
main()
{
  char c;
  int letters=0,space=0,digit=0,others=0;
  clrscr();
  printf("Input a line char:\n");
  while((c=getchar())!=’\n’)
  {
    if(c>=’a’&&c<=’z’||c>=’A’&&c<=’Z’)
      letters++;
    else if(c==0x20)
      space++;
    else if(c>=’0’&&c<=’9′)
      digit++;
    else
      others++;
  }
  printf("letter:%d space:%d digit:%d others%d\n",letters, space,digit, others);
  getch();
}

能否输入一行字符超过128个字符?上机测试之,并解释原因。

的时候她终于迟疑了,我说当我输入到127个字符的时候如果我继续输入电脑就会发出警告,我无法再输入了。她开始有在说“我上课已经说过‘\7’就是代表电脑发出警告,只要不换行应该是可以继续输入的”,但我坚持的确不能再输入了,再输入就会出错。于是她开始变“软”了,然后说这个要查一下书……我第一赢了!在和她的“交锋”当中她一直是主导地位,我一向只能俯首称臣,我不是有意找她不懂或不太肯定的东西来下她的面子,但这次,我的实践终于有点超过了她的“常识”范围了。在后面的问题当中,我觉得她对我“软”了,还记得我刚开始问的时候她的态度很“强硬”,我知道,在她心目中,我就是那个上课老爱说话阻止她讲课的坏孩子,我知道她看了我就觉得讨厌。但我问的问题其实也可以向她证明我是有有用脑袋去思考C语言的学生,我问的问题除了那些指出书上的错误显示我对她的课不是100%认真以外其余问的问题还是有那么一点水平的,所以我问问题的过程中并没有被她打断,被她“推”在一边。

问完问题我们就开始向学院进发,要去拿我们的钱!!!但时间不多了,开始从钟楼进发的时候已经是3:05PM,而我们在4:15PM有课。乱七八糟,乱七八糟地从“唐老鸭”手中那过15张100元,然后向工商银行进发,当时已经是3:50PM了,时间无多。然后这次是我第一次知道用一般的ATM机是无法存款的,那钱就熟,存钱对我和同学都是第一次。那个该死的存款机还有很多限制,比如说它对“钱”的要求挺高,有点皱或者折了角的它都无法识别,于是15张我一共用了3次才全部存进去,于是就打印了3张纸条。当和同学完成存款以后已经是4:10PM,马上到门口找的士,该死的,居然红灯,看着空的的士就在那里却不能进发。

上的士的时候还有个好笑的,上一手的客人居然落下了3个硬币,我们就叫他过来把钱拿走。我们其中的一个男同学就对着那个人不停地喊“钱,钱,钱”,好不容易那个人终于回头,一脸茫然,然后当他知道是他掉了钱以后,终于笑了。虽然只是3块钱,我们做了好事,他也高兴。

接着我们的的士就直冲我们的教学楼,四周已经没人已经上课了,我们始终是迟了那么一点。

想不到我的班居然有人拿国家奖学金,一个学院就只有5人,04级就那么一个,而他本来只是个拿1500元二等奖学金的如今却去拿4000元的国家奖学金,想不到那些似乎不可能的事情居然就发生在我身边。原来,原来国家奖学金是这样的!里面有好多好多说不出的原因,一切尽在不言中。而那些拿国家奖学金的居然在学校和学院都没有公开宣布,若不是拿钱的那个人自己说我们就什么外人都不知道了。即使是普通的三等奖学金也要公布起码一个星期接受大家的“检阅”和祝贺,更何况是国家奖学金。但为什么SCAU要避而不说呢?搞不懂,不懂。

无论怎样,搞好自己的事就好,其他人的事,祝贺是要的,但绝对不能强求,能过自己的关就好了,觉得自己做得好就好了,其他的,就让命运去做那个决定吧!

2005-12
26

“长假”归来

By xrspook @ 21:11:56 归类于: 烂日记

回来了,终于回来了,上个星期三走人,现在终于归来了。好像好久都没有上网的样子,好像要下载的都落下了好多。但我回来绝对不是为了这些,我还有好多要复习的没有复习,时间不多了,下个星期就要考试,然后结束这个学期……

近段日子我一直在验证着如此一句话——不要想那么多,做就好了,上天早就为你做好决定了。很多很多我前思后想的事情最终原来远没有我想的那么复杂,以为很难做出的决定其实几秒钟就好了,你根本就不用想,把你所想的做出来就好。人生说来很难,其实也好容易。

我老在找National Geographic Channel今年拍摄的Unlocking Da Vinci’s Code我找了好久,也下载了好多,已经下载了2个都接近700MB的文件,始终不是我想要的,绕了好多的弯路,最后今天居然在eMule自己的搜索那里找到了。我在各大搜索网站都找不到,居然就那么轻易的在eMule上找着了,这次应该不会错,不是西文了,不是别的东西了,应该是我想要的英文原版Unlocking Da Vinci’s CodeNational Geographic ChannelUnlocking Da Vinci’s Code。转了那么的一个大圈,最终居然回到了最初的地方,最简单的方法居然是最后才发现。人就是这样,往往是后悔的时候才知道自己做得不好,做错了,但人间是绝对不会有后悔药的。

ed2k://|file|National%20Geographic%20-%20Unlocking%20Da%20Vinci’s%20Code%20-%20The%20Full%20Story.avi|731754496|6B4AF536C73E571939462DB271D9CF0A|/

长假归来,我该收心养性了。

2005-12
25

圣诞·韩剧·C

By xrspook @ 18:00:17 归类于: 烂日记

今天是圣诞,但今天不是被兴奋的圣诞音乐叫醒,也没有礼物等着我,居然是被“傻婆”的电话硬把我从周公那里拖出来了,连在家里她也不放过我,我真的好后悔为什么我给她写电话的时候不胡扯一个,那么我就不用烦了,连在家里我都不安全,我该到那里啊!?和萨达姆在一起吗?还是找个窟窿跳下去,然后叫人家盖上点土。她怎么可以那么烦!!!!简直就不当我是人,人的忍耐能力是有限度的,迟早我无法再忍的时候要好好教训她一顿。对女生,我可是作得出心狠手辣的,想想当年的“蕾姨”就知道了,不过相比之下“蕾姨”比“傻婆”要好很多,起码“蕾姨”不会死缠烂打,而“傻婆”比502还要厉害,只要粘上了就很难摆脱。真不明白她的脸皮怎么就可以这么厚。无论如何她的EQ 一定十分有问题,当然她的IQ也不见得多么的厉害!天啊!我也不知道是怕她还是恨她,又怕又恨,因怕而恨吧,无奈……她今天早上居然打我手机叫我要借什么什么给她,我不应该随便乱借固话,不过我发誓,以后看到那个电话是无论如何也不会借的,我会马上按掉。第一次,今天是第一次,我先给她个初始化,以后这个电话就会永远进入黑名单!!!!

韩剧,妈今天又在疯狂地看韩剧,一共看了4集,她的疯癫绝不下于我。于是就不得不忍受那些韩剧的对话和音乐不断冲击我的耳膜,而自己则在痛苦地做C语言。

C语言,我已经努力了好多天。我已经告诉过自己,今天不能再做了,要复习其他的科目,但到现在为止,我除了做C,还是做C。今天要啃的是指针,简直就好像到了地域,自己是白痴之中的白痴!唯一觉得自己有进步的就是终于几乎90%认出编译时出现的error和warning,当然,自己一次成功的几率也大了不少。现在,已经结束了,终于搞定了那本实验书。我发誓,吃过饭后我一定绝对绝对不碰那个C了,我要给时间别的,我发誓!我发誓!

我也要吃饭了……

标签:
2005-12
24

程序渐进

By xrspook @ 22:16:06 归类于: 烂日记

C不是一天就能攻陷的,要经过不懈加不懈的努力,甚至要来个for(i=0;;i++)无限循环来达成。于是今天我就从1:00AM不知不觉努力到4:00AM,在Turbo C的世界里我的右下脚没有时间,我的桌面也从来没有钟,于是努力就在不知不觉中进行着。

今天凌晨,当我正要睡觉的时候来了道如此的题目:
某班有5个学生(含学号sno,姓名name),三门课(English, C, Math)。分别编写4个函数实现一下要求:
1. 求各门课的平均分。
2.找出有两门以上课程不及格的学生,并输入其学号、姓名和不及格课程的成绩。(我觉得这句话有歧义,到底是只3门课都不及格的人呢还是指那些在English,C和Math有2门或以上不及格的人呢?莫名其妙。于是我就在完工之后写多了个函数来满足编者两个不清不楚的要求)
3.找出三门课平均成绩85到90分的学生,并输出其学号和姓名。
4.找出每门课的最高分所对应的学生学号、姓名和分数。
5.主函数输入5个学生的成绩,然后调用上述函数输出结果。

这个题目看上去很庞大,但不难,于是我就先写了主函数,然后用/**/把没有用到的函数先注释起来,一个一个函数去攻陷。里面用到的知识都很全面,但我都会。要筛选就是要有条件,把符合条件的找出来,要算平均分其实就是要先算总分,一切都思路清晰,这里运用得最多的就是循环语句,所以如果循环语句你不过关你就不用活了。这是这个单元的一个函数编程应用题,它的难度系数是5,我是第一次没有碰什么大钉子就搞定5的题目。

char a[5][5]={"No.1","No.2","No.3","No.4","No.5"};
char b[5][5]={"stua","stub","stuc","stud","stue"};
int i;
ave(int score[])
{
  int sum=0;
  for(i=0;i<5;i++)
    sum+=score[i];
  return(sum/5);
}
f2a(int c[],int d[],int e[])
{
  printf("\n\n /*Three Courses in Red*/");
  for(i=0;i<5;i++)
    if(c[i]<60&&d[i]<60&&e[i]<60)
      printf("\n %s %s English:%d, C program:%d, Math:%d",a[i],b[i],c[i],d[i],e[i]);
}
f2b(int c[],int d[],int e[])
{
  printf("\n\n /*At Least Two Courses in Red*/");
  for(i=0;i<5;i++)
  {
    if(c[i]<60&&d[i]<60&&e[i]>=60) printf("\n %s %s English:%d, C program:%d",a[i],b[i],c[i],d[i]);
    else if(c[i]<60&&d[i]>=60&&e[i]<60) printf("\n %s %s English:%d, Math:%d",a[i],b[i],c[i],e[i]);
    else if(c[i]>=60&&d[i]<60&&e[i]<60) printf("\n %s %s C program:%d, Math:%d",a[i],b[i],d[i],e[i]);
    else if(c[i]<60&&d[i]<60&&e[i]<60)
      printf("\n %s %s English:%d, C program:%d, Math:%d",a[i],b[i],c[i],d[i],e[i]);
   }
}
f3(int c[],int d[],int e[])
{
  int ave[5];
  printf("\n\n /*The Average Score of 3 Courses is between 85 to 90*/");
  for(i=0;i<5;i++)
  {
    ave[i]=(c[i]+d[i]+e[i])/3;
    if(ave[i]>=85&&ave[i]<=90)
      printf("\n %s %s",a[i],b[i]);
  }
}
max(int score[])
{
  int m;
  m=score[0];
  for(i=1;i<5;i++)
    if(m  for(i=0;i<5;i++)
    if(score[i]==m) printf(" %s %s %3d\t",a[i],b[i],score[i]);
}
main()
{
  int c[5],d[5],e[5];
  clrscr();
  for(i=0;i<5;i++)
    scanf("%d%d%d",&c[i],&d[i],&e[i]);
  printf("\n");
  for(i=0;i<5;i++)
    printf(" %s %s %3d %3d %3d\n",a[i],b[i],c[i],d[i],e[i]);
  printf("\n\n /*Average*/\n English:%d\tC program:%d\tMath:%d",ave(c),ave(d),ave(e));
  f2a(c,d,e);
  f2b(c,d,e);
  f3(c,d,e);
  printf("\n\n /*The Highest Score of Each Course*/");
  printf("\n English:\t");
    max(c);
  printf("\n C program:\t");
    max(d);
  printf("\n Math:\t\t");
    max(e);
  getch();
}

程序好长,但不难。开始的时候我没有想到把i、a[][](储存学号的二维数组)和b[][](储存姓名的二维数组)设计为全局变量,但在后面的运作之中,每个函数都要用到循环,都要用到i与其个个函数都设计不如来个全局变量方便,因为i只用于循环语句,所以每次都会给它个初始值,所以自己觉得定义这个全局变量是我的一个十分明智的选择。当然a[][]和b[][]的定义也使我方便好多,它们的方便之处就随着i的增多而增多,因为是i带动它们变化的。

我不是什么天才,太难的程序我不单不会写,也看不懂,但我会循序渐进,程序就需要我一点一点地啃。路是一步一步走的,程序是一点一点渐进的。

标签:,
2005-12
23

疯狂地C

By xrspook @ 20:12:07 归类于: 烂日记

几乎发疯了,今天起码连续做了5个小时的C语言,把自己最讨厌的数组和函数都似乎不知不觉地冲过了,也不知道自己是怎么熬过来的。很多很多的函数嵌套从开始的害怕到现在的有点顺手,自己脑袋里除了C还是C,我知道我再这样做下去一定会发疯的,因为期末的考试肯定没有那么刁钻,而二级的考试应该也没有那么“阴险”。

今天令我载最多跟斗的是格式问题,到底是int还是用unsigned甚至是long unsigned经常令我经过一番磨难以后才恍然大悟。谁会想到要用到平时似乎不怎么可能接触到的大值啊!于是突然觉得那个才10块钱的“科学”计算器真的好厉害,起码它能简单地输入输出10的N次方,而我们可怜的C则要为那个结果该用什么输出而烦恼。很简单的输入,14,如果来个5次方那么long unsigned也无能为力,叫人怎么做????我是无能为力了,哎!

以下的是比较好彩的,题目是求1到20的2、3、4、5次方,程序很简单,但用什么格式输出就意味着你程序的成功和失败,经过n++次失败以后我突然恍然大悟,原来自己没有把调用函数的格式搞好,于是就失败了。看看程序看看截图,真的好有成功感!这用计算器搞简直就是轻而易举的小菜,但用C来自己搞,就注定着我这个粗心的人要碰壁好多好多次。我依然是和平常一样,思路清晰但粗心不少。

long unsigned square(long unsigned x)
{
  long unsigned y;
  y=x*x;
  return(y);
}
long unsigned cube(long unsigned x)
{
  long unsigned y;
  y=x*x*x;
  return(y);
}
long unsigned quartic(long unsigned x)
{
  long unsigned y;
  y=square(x)*square(x);
  return(y);
}
long unsigned quintic(long unsigned x)
{
  long unsigned y;
  y=square(x)*cube(x);
  return(y);
}
main()

  long unsigned i;
  clrscr();
  printf("\n  A TABLE OF POWERS\n");
  printf("  No.\tSquare\tCube\tQuartic\tQuintic\n");
  for(i=1;i<21;i++)
    printf("  %lu\t%lu\t%lu\t%lu\t%lu\n",i,square(i),cube(i),quartic(i),quintic(i));
  getch();}

但如果要计算n!就没有那么好彩了。要计算阶乘的思路很清晰,但要算阶乘就不是你想想就能实现的问题。算阶乘的方法很简单:

main()

{  int i;
  float x,t=1;
  clrscr();
  printf("Input a number: ");
  scanf("%f",&x);
  {for(i=1;i<=x;i++)
    t*=i;
  printf("\n  %g!=%g",x,t);
  getch();}

就搞定了,但要知道x和t就决定了你的乘到底能去多远。用long unsigned(最长的无符号整型),那么阶乘最多能算到12!,而用float就能算到34!因为long unsigned的范围在0到429467295(2的32次方减一),而float则-3.4e-38到3.4e38之间,12的阶乘是479001600,13的阶乘是6227020800,long unsigned最远就只能是12!了。而34的阶乘是2.952328e38,但35的阶是1.0333148e40,于是float就无能为力了。更厉害的是doulbe范围在-1.7e-308到1.7e308,但我在书上怎么也找不到它的输入和输出方式。最厉害的是long double,但以%什么输入?我到现在也是一头冒水,long double的范围是-1.2e-4932到1.2e4932。所以,用float就是我力所能及的范围了。

计算:其实就是计算阶乘,别以为计算这个比计算阶乘要简单,因为是先算阶乘后相除,所以阶乘的值保不住就无法计算这个,痛苦啊!!!!

float f(float n)
{
  float t=1;
  int i;
  for(i=1;i<=n;i++)
    t*=i;
  return(t);
}
main()
{
  float n,m,C;
  clrscr();
  printf("Input n,m (n>m&&n<35): ");
  scanf("%f%f",&n,&m);
  if(m>n||n>35) printf("Wrong Input!!!");
  else
  {
    C=f(n)/f(n-m)/f(m);
    printf("n=%g, m=%g, C=%g",n,m,C);
  }
  getch();
}

最令人痛心和兴奋的就是素数的计算:设计一个判别素数。如果是素数,返回值1;如果不是素数,则返回值0。在主函数中调用这个判别函数,输出100以内的所有素数。还有输出格式限制:
 No. Value
 1    2
 2       3
 3       5
 4       7
 5      11
这个东西的计算可以说是可以“八仙过海,各显神通”但我不是神仙,人家显神通我就被他人糊弄的乱七八糟。在书本的帮助下首先改装一下完成了第一个成品:
http://static.flickr.com/36/77467040_a9e266502d_o.gif

#include
find(int a[]);
main()
{
  int a[101];
  clrscr();
  find(a);
  getch();
}
find(int a[])
{
  int i,j,k=1;
  printf("No\tValue\n");
  for(i=2;i<=100;i++)
    a[i]=i;
  a[1]=0;
  for(i=2;i  for(j=i+1;j<=100;j++)
  {
    if(a[i]!=0&&a[j]!=0)
      if(a[j]%a[i]==0)
 a[j]=0;
  }
  for(i=1;i<100;i++)
    if(a[i]!=0)
    {
      printf("%2d\t%2d\n",k,a[i]);
      k++;
    }
}

是用数组完成的,想想都会发疯。该在主函数决定什么,然后传入find函数真的令我几乎发疯。因为书本的题目是整个过程在主函数完成的。在完成上面的改装后不久,我终于有了灵感重修自己本来一点不像样的程序:

int m;
find(int n)
{
  int i,ext;
  for(i=2;i    if(n%i==0) {ext=0; break;}
    else ext=1;
  if(ext==1) m=n;
}
main()
{
  int n,j=1,i;
  clrscr();
  printf("No.\tValue\n");
  for(n=2;n<100;n++)
  {
    find(n);
    if(m!=0)
    {
      printf("%2d\t%2d\n",j,m);
      j++;
      m=0;
    }
  }
  getch();
}

真的好兴奋,当我运行成功的时候,我简直似乎发疯地狂跳狂叫!!!!用了比书本简单好多的语句就完成了,好欣慰,真的好欣慰!!!我的程序只有12.2KB,而书本改装的要28.3KB,发费了大概2个小时做这个题目,应该说我白痴还是说我努力!?只有在家里,只有在没有人的时候我才能如此专心,有了internet我就会有了依赖,我还是要和紫龙那样,在脱掉圣衣的时候才可以把潜能的小宇宙发挥到及至。

不过这样的日子真的好难熬,毕竟我要照顾的不是C语言一个,“孩子们”都需要我关心啊!

© 2004 - 2026 我的天 | Theme by xrspook | Power by WordPress