学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考“高级语言程序设计”习题答案详解(51

自考“高级语言程序设计”习题答案详解(51)

2007年09月04日    来源:   字体:   打印

  2.设计一个程序,将随启动程序执行时输入的两个整数的和、差、积、整除商、模运算的结果输出。 「解」直接写出程序如下:

  # include

  main( int argc,char *argv[])

  { int tl,t2;

  if( argc < 3) {

  printf(“Parmenters missing!\n”); return 0;

  }

  t1=atoi( argv[l] );t2=atoi( argv[2] );

  printf(“%d+%d=%d\n”, t1, t2, t1+t2);

  printf(“%d-%d=%d\n”, t1,t1,t1-t2);

  printf(“%d*%d=%d \n”,t1,t2,t1*t2);

  printf(“%d/%d=%d\n”,t1,t2, t1/t2);

  printf(“%d% %d=%d\n”,t1,t2, t1%t2);

  }

  3.设计一个比较字符串的程序,两个字符串随启动程序执行的命令输入,输出其中大的字符串。

  「解」直接写出程序如下:

  # include

  main(int argc,char *argv[])

  { char *s1,*s2;

  if( argc < 3) {

  printf(“Parameters missing! \n”);return 0;

  }

  for(s1=argv[1],s2=argv[2];*s1 && *s1==*s2;s1++,s2++ );

  printf(“%s\n”,*s1< *s2? argv[2]:argv[1]);

  }

  3.下面的程序用来统计文件中字符的个数,请填空。

  # include

  # include

  main()

  { FILE *fp;

  long num=0;

  if(( fp =fopen(“fname.day”,“r”))== NULL)

  { printf(“Cann‘t open file! \n”); etit(0); }

  while________ { fgetc(fp); num++; }

  printf(“num =%d \n”。 num);

  fclose(fp);

  }

  「解」若要统计文件中的字符个数,程序设计一个计数器,并预置该计数器为0值,并打开文件。在正确打开情况下,接着是一个循环。循环在文件未结束的情况下,反复读人字符,并增加字符计数器。所以循环条件可写成:!feof(fp)。程序有一个错误,由于num变量的类型是long型的,输出它的值应在格式符d之前加上格式修饰符‘l’,不加这个修饰符只有在long型与int型实现相同的系统才是正确的。另外,要统计文件的长度,更好用二进制方式打开,通过读入的字节数求出文件的长。这是因为正文文件方式打开时,文件中的双字符(回车字符和换行字符)读入后将被当作一个字符存储,二进制方式不进行这样的转换。

关闭