重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 计算机类考试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

下列给定程序中,函数fun()的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,

下列给定程序中,函数fun()的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为abcdabfab,t所指字符串的内容为ab,则函数返回整数3。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.

试题程序:

include <conio.h>

include <stdio.h>

include <string.h>

int fun (char *s, char *t)

{int n; char *p, *r;

n=0;

while(*s)

{p=s;

r=t;

while (*r)

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

if(*r==*p) {r++; p++}

else break;

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

if(r=='\0')

n++;

s++;

}

return n;

}

main()

{char s[100], t[100]; int m;

clrscr();

printf("\nPlease enter string s: ");

scanf ("%s",s);

printf("\nPlease enter substring t: ");

scanf ("%s",t);

m=fun (s,t);

printf("\nThe result is: m=%d\n", m);

}

查看答案
更多“下列给定程序中,函数fun()的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,”相关的问题

第1题

下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:

使数组左下半三角元素中的值全部置成0。例如a数组中的值为

a=1 9 7

2 3 8

4 5 6

则返回主程序后a数组中的值应为

0 9 7

0 0 8

0 0 0

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <conio.h>

include <stdio.h>

include <stdlib.h>

define N 5

int fun (int a[] [N])

{

}

main()

{

int a[N] [N],i,j;

clrscr();

printf("*****The array*****\n");

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

/*产生—个随机的5*5矩阵*/

{ for(j=0;j<N;j++)

{a[i][j]=rand()%10;

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

}

printf("\n");

}

fun (a);

printf("THE RESULT\n");

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

{ for(j=0;j<N;j++)

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

printf("\n");

}

}

点击查看答案

第2题

请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小

到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

include<conio.h>

include<stdlib.h>

define N 20

void fun(【 】)

{

int i j;

int t;

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

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

if(【 】)

b[i]=a[i][j];

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

{

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

if(【 】)

{

t=b[i];

b[i]=b[j];

b[j]=t;

}

}

}

main()

{

int a[N][N];

int b[N];

int n;

int i,j;

clrscr();

printf("*****Input the dimension of array N*****\n");

scanf("%d",&n);

printf("*****The array *****\n");

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

{

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

{

a[i][j]=rand()%20;

while(a[i][j]==0)

a[i][j]=rand()%30;

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

}

printf(”\n\n”);

}

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

b[i]=0;

fun(a,b,n);

printf("***** THE RESULT *****\n");

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

printf(“%d”,b[i]);

}

点击查看答案

第3题

假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数fun()的功能是:删除数列中值为X

的元素。 N中存放的是数列中元素的个数。

请改正程序中的错误,使它能够得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdio.h>

define N 20

fun (int *a,int n,int x)

{int p=0,i;

a[n]=x;

while (x!=a[p])

p=p+1;

if(p==n) return -1;

else

{for (i=p;i<n;i++)

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

a[i+1]=a[i];

return n-1;

}

}

main()

{int w[N]={-3,0,1,5,7,99,10,15,30,90},

x,n,i;

n=10;

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

for (i=0;i<n;i++) printf("%5d",w[i]);

printf("\nInput x (to delete ): ");

scanf("%d",&x);

printf("Delete : %d\n",x);

n=fun(w,n,x);

if (n==-1) printf("***No be found!

***\n\n");

else

{printf("The data after deleted:\n");

for (i=0;i<n;i++) printf("%5d",

w[i]);printf("\n\n");

}

}

点击查看答案

第4题

测试的目的是暴露错误,评价程序的可靠性;而______得目的是发现错误的位置并改正错误。

点击查看答案

第5题

N名学生的成绩己在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它

的功能是:求出平均分,由函数值返回。

例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。

注童:部分源程序给出如下.

请勿改动主函数main和其他函数中的任何内容,仅在函数6m的花括号中填入所编写的若干语句。

试题程序:

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) /*创建链表*/

{

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 Ii]; i++;p->next=q;p=q;

}

p->next=0;

return h;

}

outlist (STREC *h)

{

STREC *p;

p=h->next;

printf ("head ");

do

{printf ("->%4. if ",p->s);

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

}

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

}

点击查看答案

第6题

下列程序定义了NXN的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是求出数组周边元素

的平方和并作为函数值返回给主函数中的S。例如:若a数组中的值为

a=0 1 2 7 9

1 11 21 5 5

2 21 6 11 1

9 7 9 10 2

5 4 1 4 1

则返回主程序后s的值应为310。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include<stdio.h>

include<conio.h>

include<stdlib.h>

define N 5

int fun (int w[][N])

{

}

main()

{

int a[N)[N]={0,1,2,7,9,1,1l,2l,5,5,2, 21,6,11,1,9,7,9,10,2,5,4,1,4,1};

int i,j;

int S;

clrscr( );

printf("*****The array***+*\n");

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

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

{printf(“%4d”,a[i][j]);}

printf("\n");

}

s=fun(a);

printf(“*****THE RESULT*****\n”);

printf("The sum is:%d\n",s);

}

点击查看答案

第7题

下面程序的运行结果是______。include<stdio.h>main(){ int y,a;y=2,a=1;while(y--!=-1){do{a*=y;

下面程序的运行结果是______。

include<stdio.h>

main()

{ int y,a;

y=2,a=1;

while(y--!=-1)

{do{a*=y;a++;}while(y--);}

printf("%d,%d",a,y);}

点击查看答案

第8题

请编写一个函数void fun(char*ss),其功能是:将字符串 ss中所有下标为偶数位置上的字母转化为大写

(若该位置上不是字母,则不转换)。

例如,若输入abc4Efg,则应输出AbC4EfG。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include<conio. h>

include<stdio. h>

void fun ( char *ss)

{

}

main ( )

{

char tt[51];

clrscr ();

printf("Please enter an character string

within 50 characters:\n");

gets (tt);

printf ("\n\nAfter changing, the string\n

%s", tt);

fun (tt);

printf("\nbecomes\n \%s",tt);

}

点击查看答案

第9题

请补充函数fun(),该函数的功能是把数组aa中的奇数元素按原来的先后顺序放在原数组后面。 例如,输

请补充函数fun(),该函数的功能是把数组aa中的奇数元素按原来的先后顺序放在原数组后面。

例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“42,58,76,16,56,33,67,25,25,41。

注意:部分源程序给出如下。

请勿改动主函数main和具他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include <stdio.h>

define N 10

void fun(int aa[])

{

int i, j=0,k 0;

int bb IN];

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

{

if (【 】)

bb[k++] aa[i];

else

aa [j++] =aa Ii];

for(i=0; i<k;【 】)

aa[j] bb[i];

}

main ( )

{

int i;

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

41,56};

clrscr ();

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

}

点击查看答案

第10题

请补充main函数,该函数的功能是:求1+21+3!+…+N!的和。 例如,1+2!+3!+...+5!+6!的和为873。 注意:部

请补充main函数,该函数的功能是:求1+21+3!+…+N!的和。

例如, 1+2!+3!+...+5!+6!的和为873。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。

试题程序:

include <stdio.h>

main ( )

{

int i, n;

long s=0, t=l;

clrscr ();

printf ("\nInput n: \n");

scanf ("%d",【 】);

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

{

t=【 】;

s=【 】;

}

printf ("1 ! +2 ! +3 !... +%d! =%ld\n", n, s);

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案