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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)

發(fā)布時(shí)間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

填空題

給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,查找含有形參substr所指子串的所有字符串并輸出,若沒找到則輸出相應(yīng)信息。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長小于M。程序中庫函數(shù)strstr(s1, s2)的功能是在 s1串中查找s2子串,若沒有,函數(shù)值為0,若有,為非0。

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。

注意:源程序存放在考生文件夾下的BLANK1.C中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

給定源程序:

#include

#include

#define N 5

#define M 15

void fun(char (*ss)[M], char *substr)

{ int i,find=0;

for(i=0; i< __1__ ; i++)

if( strstr(ss[i], __2__) != NULL )

{ find=1; puts(ss[i]); printf("\n"); }

if (find==__3__) printf("\nDon't found!\n");

}

main()

{ char x[N][M]={"BASIC","C langwage","Java","QBASIC","Access"},str[M];

int i;

printf("\nThe original string\n\n");

for(i=0;i  printf("\nEnter a string for search : "); gets(str);

fun(x,str);

}

解題思路:

本題是根據(jù)給定的字符串?dāng)?shù)組中查找指定的字符串,如果存在,則顯示。

第一處:利用for循環(huán),從幾個(gè)字符串中進(jìn)行查找,程序中已經(jīng)給定了N個(gè)字符串,所以應(yīng)填:N。

第二處:查找子串,子串由形參substr傳遞,所以應(yīng)填:substr。

第三處:試題要求,若沒有找到,函數(shù)值為0,所以應(yīng)填:0。

改錯(cuò)題

給定程序MODI1.C中函數(shù)fun的功能是:求三個(gè)數(shù)的最小公倍數(shù)。

例如,給主函數(shù)中的變量x1、x2、x3分別輸入15 11 2,

則輸出結(jié)果應(yīng)當(dāng)是:330。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

給定源程序:

#include

fun(int x, y, z )

{ int j,t ,n ,m;

j = 1 ;

t=j%x;

m=j%y ;

n=j%z;

while(t!=0||m!=0||n!=0)

{ j = j+1;

t=j%x;

m=j%y;

n=j%z;

}

return i;

}

main( )

{ int x1,x2,x3,j ;

printf("Input x1 x2 x3: "); scanf("%d%d%d",&x1,&x2,&x3);

printf("x1=%d, x2=%d, x3=%d \n",x1,x2,x3);

j=fun(x1,x2,x3);

printf("The minimal common multiple is : %d\n",j);

}

解題思路:

第一處: 函數(shù)中形參的定義不正確,應(yīng)改為:fun(int x,int y, int z)。

第二處: 程序中三個(gè)數(shù)的最小公倍數(shù)是用j處理的,所以應(yīng)返回j的值。

編程題

假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號(hào),串中字母之間的*號(hào)都不刪除。形參n給出了字符串的長度, 形參h給出了字符串中前導(dǎo)*號(hào)的個(gè)數(shù),形參e給出了字符串中最后*號(hào)的個(gè)數(shù)。在編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。

例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G。

注意: 部分源程序在文件PROG1.C文件中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。

給定源程序:

#include

void fun( char *a, int n,int h,int e )

{

}

main()

{ char s[81],*t,*f; int m=0, tn=0, fn=0;

printf("Enter a string:\n");gets(s);

t=f=s;

while(*t){t++;m++;}

t--;

while(*t=='*'){t--;tn++;}

while(*f=='*'){f++;fn++;}

fun( s , m,fn,tn );

printf("The string after deleted:\n");puts(s);

NONO();

}

解題思路:

本題是考察對(duì)字符串的操作。

1. 求出字符串的長度。

2. 利用循環(huán)把字符串中字符按要求仍存放在原字符串首址開始的位置上。

參考答案:

void fun( char *a, int n,int h,int e )

{

char *p=a ;

int j=0,len=0;

while(*p) {p++; len++;}

while(j  a[j]=a[h+j];

j++;

}

a[j]=0;

}

2013年計(jì)算機(jī)二級(jí)C語言上機(jī)題庫及答案解析(3).doc

下載Word文檔到電腦,方便收藏和打印[全文共1955字]

編輯推薦:

下載Word文檔

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。