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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

第22套:

給定程序中,函數fun的功能是:將自然數1~10以及它們的平方根寫到名為myfile3.txt的文本文件中,然后再順序讀出顯示在屏幕上。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <math.h> #include <stdio.h> int fun(char *fname ) { FILE *fp; int i,n; float x; if((fp=fopen(fname, "w"))==NULL) return 0; for(i=1;i<=10;i++) fprintf(___1___,"%d %f\n",i,sqrt((double)i)); printf("\nSucceed!!\n"); ___2___; printf("\nThe data in file :\n"); if((fp=fopen(___3___,"r"))==NULL) return 0; fscanf(fp,"%d%f",&n,&x); while(!feof(fp)) { printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); } fclose(fp); return 1; } main() { char fname[]="myfile3.txt"; fun(fname); }

解題思路:
本題要求所求出的數寫入到指定的文件中保存。程序中共有三處要填上適當的內容,使程序能運行出正確的結果。
第一處:int fprintf(FILE *stream, const char *format [,argument, …]); 因此本處只能填寫文件流的變量fp。
第二處:由于文件打開寫操作,所以必須要關閉,因此,只能填寫關閉文件的函數fclose(fp)。
第三處:由于本題要把剛寫入文件中的數據重新顯示出來,讀方式已經給出,但沒有給出
文件名,所以本處只能寫文件名變量fname或者直接給出文件名"myfile3.dat"。


給定程序MODI1.C中fun函數的功能是:將n個無序整數從小到大排序。
請改正程序中的錯誤,使它能得出正確的結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #include <stdlib.h> fun ( int n, int *a ) { int i, j, p, t; for ( j = 0; j<n-1 ; j++ ) { p = j; for ( i=j+1; i<n-1 ; i++ ) if ( a[p]>a[i] ) t=i; if ( p!=j ) { t = a[j]; a[j] = a[p]; a[p] = t; } } } putarr( int n, int *z ) { int i; for ( i = 1; i <= n; i++, z++ ) { printf( "%4d", *z ); if ( !( i%10 ) ) printf( "\n" ); } printf("\n"); } main() { int aa[20]={9,3,0,4,1,2,5,6,8,10,7}, n=11; printf( "\n\nBefore sorting %d numbers:\n", n ); putarr( n, aa ); fun( n, aa ); printf( "\nAfter sorting %d numbers:\n", n ); putarr( n, aa ); }

解題思路:
第一處:for循環的終止值應該<n或者是<=n-1。
第二處:使用臨時變量p來保存最小值位置i,所以應改為:p=i;。


函數fun的功能是: 將兩個兩位數的正整數a、b合并形成一個整數放在c中。 合并的方式是: 將a數的十位和個位數依次放在c數的個位和百位上, b數的十位 和個位數依次放在c數的十位和千位上。
例如, 當a=45, b=12時, 調用該函數后, c=2514。
注意: 部分源程序存在文件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套(第22套)的全部內容,希望文章能夠幫你解決所遇到的問題。

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