本系列資料由"韜略宏智" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。
1.填空題
下列給定程序中,函數(shù)fun()的功能是:求S的值。設(shè)
S=(22/(1*3))*(42/(3*5))*(62/(5*7))* …*(2k)2/((2k-1)*(2k+1))
例如,當(dāng)k為10時(shí),函數(shù)的值應(yīng)為1.533852。
試題程序:
#include <conio.h>
#include <stdio.h>
#include <math.h>
double fun(int k)
{ int n;
double s,w,p,q;
【1】;
s=1.0;
while(n<=k)
【答案】
【1】n=1 【2】return s; 【3】)
【解析】
填空1:在這個(gè)空之前定義了整型變量n,下面緊接著對(duì)n的值進(jìn)行了比較,可見(jiàn)該語(yǔ)句應(yīng)該是對(duì)n進(jìn)行賦值,由下面的語(yǔ)句我們可以看到n作為級(jí)數(shù)的項(xiàng)數(shù)應(yīng)該從1開(kāi)始,所以這里對(duì)n賦初值1。
3.編程題
請(qǐng)編寫一個(gè)函數(shù)void fun(char a[],char b[],int n),其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪除后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。
例如,輸入一個(gè)字符串world,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為word。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語(yǔ)句。
試題程序:
#include<stdio.h>
#include<conio.h>
#define LEN 20
void fun(char a[],char b[],int n)
{
}
main()
{ char str1[LEN],str2[LEN];
int n;
clrscr();
printf("Enter the string:\n");
gets(str1);
printf("Enter the position of the string deleted:");
scanf("%d",&n);
fun(str1,str2,n);
printf("The new string is:%s\n",str2);
}
【答案】
void fun(char a[],char b[],int n)
{
int i,j=0;
for(i=0;i<LEN;i++)
if(i!=n)
{
b[j]=a[i];
j++;
}
b[j]='\0';
}
【考點(diǎn)】字符串、for循環(huán)語(yǔ)句、查找算法和參數(shù)傳遞。
【解析】
void fun(char a[],char b[],int n)
{
int i,j=0;/*分別定義字符串a(chǎn)和b的下標(biāo)(i,j)并賦初值0*/
for(i=0;i<LEN;i++)/遍歷字符串a(chǎn)*/
if(i!=n)/*把非指定下標(biāo)的字符拷貝到形參字符串b中*/
{
b[j]=a[i];
j++;
}
b[j]=‘\0’;/*賦給形參字符串b結(jié)尾標(biāo)志符’\0’*/
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |