2011计算机二级c语言编程题100套题库(7)

2018-11-23 22:19

字符串中间和尾部的*号不删除。

例如,字符串中的内容为****A*BC*DEF*G** *****,若n的值为2,删除后,字符串中的内容则应当是**A*BC*DEF*G*******;若n的值为4,则字符串中的内容仍为****A*BC*DEF*G*******。N的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。 #include #include void score();

void fun(char *a,int n) {

int i=0, k=0; char *p, *t; p=t=a;

while(*t=='*') { k++; t++; } if(k>n) {

while(*p) {

a[i]=*(p+k-n); i++; p++; } a[i]='\\0'; } }

main() {

char s[81];int n;

printf(\ gets(s);

printf(\ scanf(\

fun( s,n );

printf(\ puts(s); score(); }

void score() 58 程序设计题

N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:求出平均分,由函数值返回。

例如,若学生的成绩是85、76、69、91、72、64、87,则平均分应当是78.625。 #include #include #define N 8 struct slist

{double s;

struct slist *next; };

typedef struct slist STREC; 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;

}

STREC *creat(double *s) /*创建链表*/ {

STREC *h,*p,*q; int i=0;

h=p=( STREC*)malloc(sizeof(STREC)); p->s=0;

while(i

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(\ do {

printf(\

p=p->next; /*输出各成绩*/ }

while(p!=0); 59 程序设计题

假定输入的字符串中只包含字母和*号。请编写函数fun(),它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。

例如,若字符串中的内容为****A*BC*DEF*G* ******,删除后,字符串中的内容则应当是

****A*B C*DEF*G。 #include #include void score();

void fun (char *a) {

while(*a!='\\0') a++; a--;

while(*a=='*') a--; *(a+1)='\\0'; }

main() {

char s[81];

printf(\60 .程序设计题

函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。 例如,若a所指数组中的数据依次为:11 22 33 1 44 55 66,则调换后为:44 55 66 1 11 22 33。 #include #define M 7

void fun(int b[],int n) {

int j,temp,p;

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

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

main() {

FILE *fp;

int x[M]={11,22,33,1,44,55,66},i; printf(\ for(i=0;i

61 程序设计题

请编写函数fun(),其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

例如,当s所指字符串中的内容为ABCDEFGHI JK,则在t所指数组中的内容应是BDFHJ。 #include #include

#include #include

void score();

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

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

main()

{

char s[100],t[100];

system(\

printf(\ scanf(\

fun(s,t);

printf(\

score(); }

62 程序设计题

编写函数fun(),它的功能是计算并输出下列级数的和:

S=1/(1×2)+1/(2×3)+?+1/(n×(n+1))例如,当n=10时,函数值为0.909091。 #include #include #include void score(); 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; }

main() {

system(\

printf(\ score(); }

void score() {

FILE *fp;

fp=fopen(\fprintf(fp,\

fclose(fp); 63 程序设计题

假定输入的字符串中只包含字母和*号。请编写函数fun(),它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言中提供的字符串函数。

例如,若字符串中的内容为****A*BC*DEF*G*** ****,删除后,字符串中的内容则应当是ABCDEFG。 #include #include void score(); 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'; }

main() {

char s[81];

printf(\ gets(s); fun(s);

64 程序设计题

请编写函数fun,其功能是:计算并输出给定10个数的方差:

例如,给定的10个数为75.0、66.0、73.0、84.0、57.0、67.0、45.0、92.0、44.0、58.0,则输出为F=14.982990。 #include #include

double fun(double y[10]) {

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);


2011计算机二级c语言编程题100套题库(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018秋人教版语文七上《课外古诗词背诵》练习题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: