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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

第06套:
給定程序中,函數fun的功能是根據形參i的值返回某個函數的值。當調用正確時, 程序輸出:
x1=5.000000, x2=3.000000, x1x1+x1x2=40.000000
請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> double f1(double x) { return x*x; } double f2(double x, double y) { return x*y; } __1__ fun(int i, double x, double y) { if (i==1) return __2__(x); else return __3__(x, y); } main() { double x1=5, x2=3, r; r = fun(1, x1, x2); r += fun(2, x1, x2); printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r); }

解題思路:
本題是根據給定的公式來計算函數的值。
第一處:程序中使用雙精度double類型進行計算,所以函數的返回值類型也為double,所以應填:double。
第二處:當i等于1時,則返回f1函數的值,所以應填:f1。
第三處:如果i不等于1,則返回f2函數的值,所以應填:f2。


給定程序MODI1.C中函數fun的功能是: 比較兩個字符串,將長的那個字符串的首地址作為函數值返回。
請改正函數fun中指定部位的錯誤, 使它能得出正確的結果。
注意: 不要改動main函數, 不得增行或刪行, 也不得更改程序的結構!
給定源程序:

#include <stdio.h> char fun(char *s, char *t) { int sl=0,tl=0; char *ss, *tt; ss=s; tt=t; while(*ss) { sl++; (*ss)++; } while(*tt) { tl++; (*tt)++; } if(tl>sl) return t; else return s; } main() { char a[80],b[80],*p,*q; int i; printf("\nEnter a string : "); gets(a); printf("\nEnter a string again : "); gets(b); printf("\nThe longer is :\n\n\"%s\"\n",fun(a,b)); }

解題思路:
第一處: 試題要求返回字符串的首地址,所以應改為:char *fun(char *s,char *t)
第二處: 取字符串指針ss的下一個位置,所以應改為:ss++;。
第三處:取字符串指針tt的下一個位置,所以應改為:tt++;。


請編寫函數fun,函數的功能是: 移動字符串中的內容,移動的規則如下: 把第1到第m個字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。
例如, 字符串中原有的內容為: ABCDEFGHIJK, m的值為3, 則移動后, 字符串中的內容應該是: DEFGHIJKABC。
注意:部分源程序在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容, 僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:

#include <stdio.h> #include <string.h> #define N 80 void fun1(char *w) /* 本函數的功能是將字符串中字符循環左移一個位置 */ { int i; char t; t=w[0]; for(i=0;i<strlen(w)-1;i++) w[i]=w[i+1]; w[strlen(w)-1]=t; } void fun(char *w, int m) /* 可調用fun1函數左移字符 */ { } main() { char a[N]= "ABCDEFGHIJK"; int m; printf("The original string:\n");puts(a); printf("\n\nEnter m: ");scanf("%d",&m); fun(a,m); printf("\nThe string after moving:\n");puts(a); printf("\n\n"); NONO(); }

解題思路:
本題是考察字符串的操作。

  • 由于函數fun1是將字符串中字符循環左移一個位置,并通過實參w返回循環左移一個位置的字符串。
  • 利用循環for語句來操作多少個字符(m)需要循環左移。
    參考答案:
  • void fun1(char *w) /* 本函數的功能是將字符串中字符循環左移一個位置 */ { int i; char t; t=w[0]; for(i=0;i<strlen(w)-1;i++) w[i]=w[i+1]; w[strlen(w)-1]=t; } void fun(char *w, int m) /* 可調用fun1函數左移字符 */ { int i; for(i = 0 ; i < m ; i++) fun1(w); } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

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

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