自考“高級語言程序設(shè)計”習(xí)題答案詳解(51)

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  2.設(shè)計一個程序,將隨啟動程序執(zhí)行時輸入的兩個整數(shù)的和、差、積、整除商、模運算的結(jié)果輸出。 「解」直接寫出程序如下:
  # include
  main( int argc,char *argv[])
  { int tl,t2;
  if( argc < 3) {
  printf(“Parmenters&am

2.設(shè)計一個程序,將隨啟動程序執(zhí)行時輸入的兩個整數(shù)的和、差、積、整除商、模運算的結(jié)果輸出。 「解」直接寫出程序如下:

# 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.設(shè)計一個比較字符串的程序,兩個字符串隨啟動程序執(zhí)行的命令輸入,輸出其中大的字符串。

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

# 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.下面的程序用來統(tǒng)計文件中字符的個數(shù),請?zhí)羁铡?/p>

# 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);

}

「解」若要統(tǒng)計文件中的字符個數(shù),程序設(shè)計一個計數(shù)器,并預(yù)置該計數(shù)器為0值,并打開文件。在正確打開情況下,接著是一個循環(huán)。循環(huán)在文件未結(jié)束的情況下,反復(fù)讀人字符,并增加字符計數(shù)器。所以循環(huán)條件可寫成:!feof(fp)。程序有一個錯誤,由于num變量的類型是long型的,輸出它的值應(yīng)在格式符d之前加上格式修飾符‘l’,不加這個修飾符只有在long型與int型實現(xiàn)相同的系統(tǒng)才是正確的。另外,要統(tǒng)計文件的長度,最好用二進制方式打開,通過讀入的字節(jié)數(shù)求出文件的長。這是因為正文文件方式打開時,文件中的雙字符(回車字符和換行字符)讀入后將被當(dāng)作一個字符存儲,二進制方式不進行這樣的轉(zhuǎn)換。

相關(guān)閱讀

熱門標(biāo)簽

關(guān)于自考“高級語言程序設(shè)計”習(xí)題答案詳解(51)文章

2021年自學(xué)考試報考入口 2021年自學(xué)考試報考入口

熱門文章