最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言練習(xí)題(九)

2021-02-13 09:28 作者:朝顏晚扶桑  | 我要投稿

1.程序填空題

請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是把數(shù)組aa中的偶數(shù)元素按原來(lái)的先后順序放在原數(shù)組后面。

例如,輸入“33、67、42、58、25、76、85、16、41、56”,輸出結(jié)果“33、67、25、85、41、42、58、76、16、56”。

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

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

#include <stdio.h>

#include <windows.h>

#define N 10

void fun(int aa[])

{

int I,j=0,k=0;

int bb[N];

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

{

/**********found**********/

if(___1___)

bb[k++]=aa[i];

else

aa[j++]=aa[i];

}

/**********found**********/

for(i=0;___2___;i++,j++)

aa[j]=bb[i];

}

main()

{

int I;

int aa[N]={33,67,42,58,25,76,85,

16,41,56};

system("cls");

printf("\n***original list***\n");

for(i=0;i<N;i++) printf("%4d",aa[i]);

fun(aa);

printf("\n***new list***\n ");

for(i=0;i<N;i++) printf("%4d",aa[i]);

}

【答案】

(1)aa[i]%2==0 (2)i<k?

2.程序修改題

下列給定程序中,函數(shù)fun()的功能是根據(jù)整型形參n,計(jì)算如下公式的值:

A1=1,A2=1/(1+A1),A3=1/(1+A2),…,

An=1/(1+A(n-1))

例如,若n=10,則應(yīng)輸出0.617977。

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

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

#include <conio.h>

#include <stdio.h>

#include <windows.h>

/**********found**********/

int fun(int n)

{

float A=1; int I;

/**********found**********/

for(i=2;i<n;i++)

A=1.0/(1+A);

return A;

}

main()

{

int n;

system("cls");

printf("Please enter n: ");

scanf("%d",&n);

printf("A%d=%lf\n",n,fun(n));

}

【答案】

(1)將 int fun(int n) 改為:

float fun(int n)

(2)將 for(i=2;i<n;i++) 改為:

for(i=2;i<=n;i++)?

3.程序設(shè)計(jì)題

N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:求出平均分,由函數(shù)值返回。

例如,若學(xué)生的成績(jī)是85、76、69、91、72、64、87,則平均分應(yīng)當(dāng)是78.625。

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <stdlib.h>

#include <stdio.h>

#define N 8

struct slist

{double s;

struct slist *next;

};

typedef struct slist STREC;

double fun(STREC *h)

{

?

}

STREC *creat(double *s) /*創(chuàng)建鏈表*/

{

STREC *h,*p,*q;

int i=0;

h=p=( STREC*)malloc(sizeof(STREC));

p->s=0;

while(i<N)

{

q=( STREC*)malloc(sizeof(STREC));

q->s=s[i];i++;p->next=q;p=q;

}

p->next=0;

return h;

}

outlist(STREC *h)

{

STREC *p;

p=h->next;

printf("head");

do

{

printf("->%4.1f",p->s);

p=p->next; /*輸出各成績(jī)*/

}

while(p!=0);

}

main()

{

double s[N]={85,76,69,85,91,72,64,87},

ave;

STREC *h;

h=creat(s);

outlist(h);

ave=fun(h);

printf("ave=%6.3f\n",ave);

}

【答案】

double fun(STREC *h)

{

double av=0.0;

STREC *p=h->next;

while(p!=NULL)

{

av=av+p->s;

p=p->next;

}

return av/N;

1.程序填空題

請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:把一維數(shù)組中的元素逆置。結(jié)果仍然保存在原數(shù)組中。

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

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

#include <stdio.h>

#include <windows.h>

#define N 10

main()

{

int I,j,t;

int bb[N];

system("cls");

for(i=0;i<N;i++) bb[i]=I;

printf("\n***original list***\n");

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

printf("%4d",bb[i]);

/**********found**********/

for(___1___;j<=I;___2___)

{ t=bb[j]; bb[j]=bb[i]; bb[i]=t; }

printf("\n*** new list ***\n");

for(i=0;i<N;i++) printf("%4d",bb[i]);

}

【答案】

(1)j=0,--i (2)j++,i--?

2.程序修改題

下列給定程序中,函數(shù)fun()的功能是:計(jì)算整數(shù)n的階乘。

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

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

#include <stdio.h>

#include <windows.h>

double fun(int n)

{

double result=1.0;

while(n>1&&n<170)

/**********found**********/

result*=--n;

/**********found**********/

return;

}

main()

{

int n;

system("cls");

printf("Enter an integer: ");

scanf("%d",&n);

printf("\n%d!=%1g\n",n,fun(n));

}

【答案】

(1)將 result*=--n; 改為:result*=n--;

(2)將 return; 改為:return result;

3.程序設(shè)計(jì)題

假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。

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

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <stdio.h>

#include <conio.h>

void fun(char *a)

{

?

}

main()

{

char s[81];

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

gets(s);

fun(s);

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

puts(s);

}

【答案】

void fun (char *a)

{

while(*a!='\0')

a++;

a--;

while(*a=='*')

a--;

*(a+1)='\0';

}

1.程序填空題

請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把數(shù)組aa中元素下標(biāo)為偶數(shù)的元素按從小到大重新保存在原數(shù)組中,其他元素位置不變。

例如,輸入“33、67、42、58、25、76、85、16、41、56”,則輸出“25、67、33、58、41、76、42、16、85、56”。

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

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

#include <stdio.h>

#include <windows.h>

#define N 10

void fun(int aa[])

{

int I,j,t;

for(i=0;i<N;i=i+2)

{

/**********found**********/

for(___1___;j<N;j=j+2)

/**********found**********/

if(___2___)

{ t=aa[j]; aa[j]=aa[i]; aa[i]=t; }

}

}

main()

{

int I;

int aa[N]={33,67,42,58,25,76,85,16,41,56};

system("cls");

printf("\n***original list***\n");

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

printf("%4d",aa[i]);

fun(aa);

printf("\n***new list***\n");

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

printf("%4d",aa[i]);

}

【答案】

(1)j=i或j=i+2 (2)aa[i]>aa[j]

2.程序修改題

給定程序中,函數(shù)fun()的功能是:使數(shù)組中的元素的值增加10倍。

改正其中的錯(cuò)誤,使其能得出正確的結(jié)果。

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

#include <stdio.h>

#include <conio.h>

int m[10];

void fun(void)

{

int j;

printf("In subfunc after calling\n");

for(j=0;j<10;j++)

{

/**********found**********/

printf("%3d",m[j]*10);

}

}

main()

{

int I;

printf("In main before calling\n");

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

{ m[i]=I; printf("%3d",m[i]); }

fun();

printf("In main after calling\n");

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

printf("%3d",m[i]);

getch();

}

【答案】

將 printf("%3d",m[j]*10); 改為:

printf("%3d",m[j]=m[j]*10);?

3.程序設(shè)計(jì)題

函數(shù)fun的功能是:將形參b所指數(shù)組中的前半部分元素的值和后半部分元素的值對(duì)換。形參n中存放數(shù)組中數(shù)據(jù)的個(gè)數(shù),若n為奇數(shù),則中間的元素不動(dòng)。

例如,若a所指數(shù)組中的數(shù)據(jù)依次為:11 22 33 1 44 55 66,則調(diào)換后為:44 55 66 1 11 22 33。

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <stdio.h>

#define M 7

void fun(int b[],int n)

{

?

}

main()

{

int x[M]={11,22,33,1,44,55,66},I;

printf("\nThe original data :\n");

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

printf("%4d ",x[i]);

printf("\n");

fun(x,M);

printf("\nThe data after moving :\n");

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

printf("%4d ",x[i]);

printf("\n");

}

【答案】

int j,temp,p;

p=(n%2==0) ? n/2:n/2+1;

for(j=0;j<n/2;j++)

{

temp=b[j];

b[j]=b[p+j];

b[p+j]=temp;

}

1.程序填空題

請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:打印出1~1000中滿足個(gè)位數(shù)字的立方等于其本身的數(shù)。本題的結(jié)果為:1 64 125 216 729

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

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

#include <stdio.h>

#include <windows.h>

main()

{

int I,g;

system("cls");

for(I=1;I<1000;I++)

{

/**********found**********/

g=___1___;

/**********found**********/

if(___2___)

printf("%4d",I);

}

}

【答案】

(1)i%10 (2)g*g*g==i?

2.程序修改題

在給定程序中,函數(shù)fun()的功能是:從3個(gè)紅球、5個(gè)白球、6個(gè)黑球中任意取出8個(gè)作為一組進(jìn)行輸出。在每組中,可以沒(méi)有黑球,但必須要有紅球和白球。組合數(shù)作為函數(shù)值返回。正確的組合數(shù)應(yīng)該是15。程序中i的值代表紅球數(shù),j的值代表白球數(shù),k的值代表黑球數(shù)。

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

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

#include <stdio.h>

int fun()

{

int I,j,k,sum=0;

printf("The result :\n");

/**********found**********/

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

{

for(j=1;j<=5;j++)

{

k=8-i-j;

/**********found**********/

if(k>=1&&k<=6)

{

sum=sum+1;

printf("red:%4d white:%4d

black:%4d\n ",I,j,k);

}

}

}

return sum;

}

main()

{

int sum;

sum=fun();

printf("sum=%4d\n",sum);

}

【答案】

(1)將for(i=0;i<=3;i++) 改為:

for(i=1;i<=3;i++)

(2)將if(k>=1&&k<=6) 改為:

if((k>=1&&k<=6)&&(i!=0)&&(j!=0)||(k==0))

3.程序設(shè)計(jì)題

請(qǐng)編寫(xiě)函數(shù)fun(),其功能是:將s所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。

例如,當(dāng)s所指字符串中的內(nèi)容為ABCDEFGHI JK,則在t所指數(shù)組中的內(nèi)容應(yīng)是BDFHJ。

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <windows.h>

void fun(char *s,char t[])

{

?

}

main()

{

char s[100],t[100];

system("cls");

printf("Please enter string S: ");

scanf("%s",s);

fun(s,t);

printf("The result is:%s\n ",t);

}

【答案】

void fun(char *s,char t[])

{

int i,j=0,k=strlen(s);

for(i=1;i<k;i=i+2)

t[j++]=s[i];

t[j]='\0';

}

1.程序填空題

請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:從鍵盤(pán)輸入一個(gè)字符串及一個(gè)指定字符,然后把這個(gè)字符及其后面的所有字符全部刪除。結(jié)果仍然保存在原串中。

例如,輸入“abcdef”,指定字符為“e”,則輸出“abcd”。

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

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

#include <stdio.h>

#include <windows.h>

#define N 80

main()

{

int i=0;

char str[N];

char ch;

system("cls");

printf("Input a string:\n");

gets(str);

printf("Input a charator;\n");

scanf("%c",&ch);

while(str[i]!='\0')

{

if(str[i]==ch)

/**********found**********/

___1___;

/**********found**********/

___2___;

}

/**********found**********/

str[i]=___3___;

printf("\n***display string***\n");

puts(str);

}

【答案】

(1)break; (2)i++ (3)‘\0’?

2.程序修改題

下列給定程序中,函數(shù)fun的功能是:從整數(shù)1到50之間,選出能被3整除且有一位上的數(shù)是5的數(shù),并把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個(gè)數(shù)作為函數(shù)值返回。規(guī)定,函數(shù)中a1放個(gè)位數(shù),a2放十位數(shù)。

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

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

#include <stdio.h>

/********found********/

int fun(int *b);

{

int j,a1,a2,i=0;

/*******found*********/

for(j=10;j<=50;j++)

{

a2=j/10;

a1=j-a2*10;

if((j%3==0 && a2==5) || (j%3==0 && a1==5))

{

b[i]=j;

i++;

}

}

/*******found********/

return j;

}

main()

{

int a[50],I,n;

n=fun(a);

printf("The result is:\n");

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

printf("%4d",a[i]);

printf("\n");

}

【答案】

(1)將fun(int *b);改為:int fun(int *b)

(2)將for(j=10;j<=50;j++)改為:

for(j=1;j<=50;j++)

(3)將return j;改為:return i;

3.程序設(shè)計(jì)題

編寫(xiě)函數(shù)fun(),它的功能是計(jì)算并輸出下列級(jí)數(shù)的和:

S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))例如,當(dāng)n=10時(shí),函數(shù)值為0.909091。

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <conio.h>

#include <stdio.h>

#include <windows.h>

double fun(int n)

{

?

}

main()

{

system("cls");

printf("%f\n",fun(10));

}

【答案】

double fun(int n)

{

int i;

double s=0.0;

for(i=1;i<=n;i++)

s=s+1.0/(i*(i+1));

return s;

}

1.程序填空題

請(qǐng)補(bǔ)充main函數(shù),該函數(shù)的功能是:輸出方程組“A+B=56,A+2B=72”的一組正整數(shù)解。本題的結(jié)果是:A=40,B=16。

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

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

#include <stdio.h>

main()

{

int I,j;

system("cls");

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

for(j=0;j<100;j++)

/**********found**********/

if(___1___)

/**********found**********/

printf("A=%2d,B=%2d",___2___);

}

【答案】

(1)i+j==56&&i+2*j==72 (2)i,j

2.程序修改題

在給定程序中,函數(shù)fun()的功能是,用下面的式子求π的近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)為止:

π/4≈1-1/3+1/5-1/7+…

例如,程序運(yùn)行后,輸入0.0001,則程序輸出3.1414。

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

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

#include <math.h>

#include <stdio.h>

#include <windows.h>

float fun(float num)

{

int s;

float n,t,pi;

t=1;pi=0;n=1;s=1;

/**********found**********/

while(t>=num)

{

pi=pi+t;

n=n+2;

s=-s;

/**********found**********/

t=s%n;

}

pi=pi*4;

return pi;

}

Chapter_6

main()

{

float n1,n2;

system("cls");

printf("Enter a float number: ");

scanf("%f",&n1);

n2=fun(n1);

printf("%6.4f\n",n2);

}

【答案】

(1)將while(t>=num)改為:

while(fabs(t)>=num)

(2)將t=s%n; 改為:t=s/n;?

3.程序設(shè)計(jì)題

假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是:刪除字符串中所有的*號(hào)。在編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言中提供的字符串函數(shù)。

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

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <conio.h>

#include <stdio.h>

void fun(char *a)

{

?

}

main()

{

char s[81];

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

gets(s);

fun(s);

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

puts(s);

}

【答案】

void fun(char *a)

{

int i,j=0;

for(i=0;a[i]!='\0';i++)

if(a[i]!='*')

a[j++]=a[i];

a[j]='\0';

}

1.程序填空題

請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是把數(shù)組aa中的奇數(shù)元素按原來(lái)的先后順序放在原數(shù)組后面。

例如,輸入“33、67、42、58、25、76、85、16、41、56”,輸出結(jié)果“42、58、76、16、56、33、67、25、85、41”。

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

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

#include <stdio.h>

#include <windows.h>

#define N 10

void fun(int aa[])

{

int I,j=0,k=0;

int bb[N];

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

{

/**********found**********/

if(___1___)

bb[k++]=aa[i];

else

aa[j++]=aa[i];

}

/**********found**********/

for(i=0;i<k;___2___)

aa[j]=bb[i];

}

main()

{

int I;

int aa[N]={33,67,42,58,25,76,85,16,41,56};

system("cls");

printf("\n***original list***\n");

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

printf("%4d",aa[i]);

fun(aa);

printf("\n***new list***\n");

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

printf("%4d",aa[i]);

}

【答案】

(1)aa[i]%2!=0或aa[i]%2==1 (2)i++,j++?

2.程序修改題

給定程序中,函數(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。

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

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

#include <conio.h>

#include <stdio.h>

#include <math.h>

#include <windows.h>

/**********found**********/

fun(int k)

{

int n; float s,w,p,q;

n=1;

s=1.0;

while(n<=k)

{

w=2.0*n;

p=w-1.0;

q=w+1.0;

s=s*w*w/p/q;

n++;

}

/**********found**********/

return s

}

main()

{

【答案】

(1)將 fun(int k) 改為:double fun(int k)

(2)將 return s 改為:return s ;?

3.程序設(shè)計(jì)題

請(qǐng)編寫(xiě)函數(shù)fun,其功能是:計(jì)算并輸出給定10個(gè)數(shù)的方差:

例如,給定的10個(gè)數(shù)為75.0、66.0、73.0、84.0、57.0、67.0、45.0、92.0、44.0、58.0,則輸出為F=14.982990。

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <stdio.h>

#include <math.h>

double fun(double y[10])

{

?

}

main()

{

double f,y[10]={75.0,66.0,73.0,84.0, 57.0,67.0,45.0,92.0,44.0,58.0};

int I;

FILE *out;

printf("\nThe original data is :\n");

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

printf("%6.1f",y[i]);

printf("\n\n");

f=fun(y);

printf("f=%f\n\n",f);

out=fopen ("outfile.dat","w");

fprintf(out,"%f",f);

fclose (out);

}

【答案】

int i,j;

double f=0.0,f1=0.0;

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

f1+=y[i];

f1/=10;

for(j=0;j<10;j++)

f+=(y[j]-f1)*(y[j]-f1);

f/=10;

f=pow(f,0.5);

return f;

1.程序填空題

請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:返回字符數(shù)組中指定字符的個(gè)數(shù),指定字符從鍵盤(pán)輸入。

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

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

#include <stdio.h>

#include <windows.h>

#define N 80

int fun(char s[],char ch)

{

int i=0,n=0;

/**********found**********/

while(___1___)

{

/**********found**********/

if(___2___)

n++;

i++;

}

/**********found**********/

___3___;

}

main()

{

int n;

char str[N], ch;

system("cls");

printf("Input a string:\n");

gets(str);

printf("Input a character:\n");

scanf("%c",&ch);

n=fun(str,ch);

printf("\nnumber of %c:%d",ch,n);

}

【答案】

(1)s[i]或s[i]!='\0'

(2)s[i]==ch

(3)return n

2.程序修改題

下列給定程序中函數(shù)fun的功能是:傳入一個(gè)整數(shù)n,計(jì)算如下公式的值:

例如,若輸入5,則應(yīng)輸出-0.283333。

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

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

#include <conio.h>

#include <stdio.h>

double fun(int n)

{

double s=1.0;

int I;

/*******found*********/

for(i=2;i<=n;i++)

s=1.0-1/I;

/*******found*******/

return n;

}

main()

{

int n;

printf("\nPlease enter 1 integer numbers:\n");

scanf("%d",&n);

printf("\n\nThe result is %lf\n",

fun(n);

}

【答案】

(1)將s=1.0-1/i;改為:s=s-1.0/i;

或:s-=1.0/i;或:s-=(double)1/i

(2)return s;

3.程序設(shè)計(jì)題

請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是計(jì)算下列級(jí)數(shù)和,和值由函數(shù)值返回:

S=1+x+x2/2!+x3/3!+…+xn/n!

例如,當(dāng)n=10、x=0.3時(shí),函數(shù)值為1.349859。

注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

#include <conio.h>

#include <stdio.h>

#include <math.h>

#include <windows.h>

double fun(double x,int n)

{

?

}

main()

{

system("cls");

printf("%f",fun(0.3,10));

}

【答案】

double fun(double x,int n)

{

int i;

double s=1.0,s1=1.0;

for(i=1; i<=n; i++)

{

s1=s1*i;

s=s+pow(x,i)/s1;

}

return s;

}


全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言練習(xí)題(九)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
安福县| 绵竹市| 巩义市| 卢龙县| 仁怀市| 津南区| 萨迦县| 泰安市| 师宗县| 桐柏县| 邯郸市| 平潭县| 荥阳市| 日喀则市| 高淳县| 玉田县| 莲花县| 嘉善县| 镇江市| 德惠市| 桂东县| 宜君县| 措美县| 宁武县| 增城市| 普洱| 易门县| 铁力市| 沙雅县| 鹤山市| 若尔盖县| 永寿县| 渭源县| 即墨市| 手游| 融水| 鹿邑县| 许昌县| 政和县| 甘肃省| 平罗县|