日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全国计算机等级考试题库二级C操作题100套(第56套)

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全国计算机等级考试题库二级C操作题100套(第56套) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第56套:

給定程序的功能是:從鍵盤輸入若干行文本(每行不超過80個字符),寫到文件myfile4.txt中,用-1作為字符串輸入結束的標志。然后將文件的內容讀出顯示在屏幕上。文件的讀寫分別由自定義函數ReadText和WriteText實現。 請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #include <string.h> #include <stdlib.h> void WriteText(FILE *); void ReadText(FILE *); main() { FILE *fp; if((fp=fopen("myfile4.txt","w"))==NULL) { printf(" open fail!!\n"); exit(0); } WriteText(fp); fclose(fp); if((fp=fopen("myfile4.txt","r"))==NULL) { printf(" open fail!!\n"); exit(0); } ReadText(fp); fclose(fp); } void WriteText(FILE ___1___) { char str[81]; printf("\nEnter string with -1 to end :\n"); gets(str); while(strcmp(str,"-1")!=0) { fputs(___2___,fw); fputs("\n",fw); gets(str); } } void ReadText(FILE *fr) { char str[81]; printf("\nRead file and output to screen :\n"); fgets(str,81,fr); while( !feof(fr) ) { printf("%s",___3___); fgets(str,81,fr); } }

解題思路:
本題要求是把鍵盤上輸入的內容寫到指定的文件中。程序中共有三處要填上適當的內容, 使程序能運行出正確的結果。
第一處:要求填寫文件流的自變量名,在這個函數中,已有的語句fputs("\n",fw);分析可知:由于文件流變量fw在函數體沒有定義過,所以本處應填*fw或fw[]。
第二處:通過while循環語句,把鍵盤上輸入的內容,要寫入到指定的文件中,鍵盤上輸入的內容已存入字符串str變量中,因此,本處應填寫str。
第三處:要把已存入文件中的內容,再從文件中讀出且已存入字符串變量str中,最后在屏幕顯示出來,因此,此處應填寫str。


給定程序MODI1.C中函數fun的功能是:從低位開始取出長整型變量s中奇數位上的數,依次構成一個新數放在t中。高位仍在高位,低位仍在低位。
例如,當s中的數為:7654321時,t中的數為:7531。
請改正程序中的錯誤,使它能得出正確的結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> void fun (long s, long t) { long sl=10; *t = s % 10; while ( s > 0) { s = s/100; *t = s%10 * sl + *t; sl = sl*100; } } main() { long s, t; printf("\nPlease enter s:"); scanf("%ld", &s); fun(s, &t); printf("The result is: %ld\n", t); }

解題思路:
第一處:在函數fun中使用了t,但在函數定義時沒有使用t,所以應改為:void fun(long s,long t)。
第二處:每循環一次,sl的值就乘以10,所以應改為:sl=sl10;。 *************************************************** 函數fun的功能是:將兩個兩位數的正整數a、b合并形成一個整數放在c中。 合并的方式是:將a數的十位和個位數依次放在c數的個位和百位上, b數的十位和個位數依次放在c數的千位和十位上。
例如,當a=45,b=12時,調用該函數后,c=1524。
注意: 部分源程序存在文件PROG1.C中。數據文件IN.DAT中的數據不得修改。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:

#include <stdio.h> void fun(int a, int b, long *c) { } main() { int a,b; long c; printf("Input a, b:"); scanf("%d,%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c); NONO(); }

解題思路:
本題是給出兩個兩位數的正整數分別取出各位上的數字,再按條件組成一個新數。
取a十位數字的方法:a/10
取a個位數字的方法:a%10
參考答案:

void fun(int a, int b, long *c) { *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10); }

總結

以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第56套)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。