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

在C程序中,引入自定义函数的3个步骤是:声明【1】,定义函数和调用函数.

暂无答案
更多“在C程序中,引入自定义函数的3个步骤是:声明【1】,定义函数和调用函数.”相关的问题

第1题

在C程序中,引入自定义函数的3个步骤是:声明【 】,定义函数和调用函数.
点击查看答案

第2题

若程序中定义了三个函数f1、f2和f3,并且函数f1执行时会调用f2、函数f2执行时会调用f3,那么正常情况下,()。

A.f3执行结束后返回f2继续执行,f2结束后返回f1继续执行

B.f3执行结束后返回f1继续执行,f1结束后返回f2继续执行

C.f2执行结束后返回f3继续执行,f3结束后返回f1继续执行

D.f2执行结束后返回f1继续执行,f1结束后返回f3继续执行

点击查看答案

第3题

读下列程序说明和C程序,将应填入(n)处。

【程序说明】

该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。

【程序】

include<stdio.h>

void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中

{

char t,*w;

w=c;

while((1))

{//找到字符串a,b当前字符中较小的字符

if(*a< *b)

{

t= *a;

(2);

{

else if (*a>*b)

{

t= *b;

(3);

}

else //字符串a,b当前字符相等

{

t= *a;

a++;

b++;

}

if((4)) //开始,可直接赋值

*w=t;

else if(t!=*w)

//如果a,b中较小的当前字符与c中当前字符不相等,才赋值(5);

}

if(*a!=\'\0') //如果字符串a还没有结束,则将a的剩余部分赋给C

while(*a!='\0')

if(*a!=*w)

{

*(++w)=*a;

a++;

}

else

(6);

if(*6!='\0') //如果字符串b还没有结束,则将b的剩余部分赋给c

while(*b!='\0')

if(*b! = *w)

{

*(++w)=*b;

b++;

}

else

b++;

(7);

}

void strsort(char*s) //将字符串S中的字符排序

{

int i,j,n;

char t,*w;

W=S;

for(n=0;*w!='\0';n++) //得到字符串长度n

w++;

for(i=0;i<n-1;i++) //对字符串s进行排序,按字母先后顺序

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

if((8))

{

t=s[i];

s[i]=s[j];

(9);

}

}

void main()

{

char s1[100],s2[100],s3[100];

printf("\nPlease,input the first string:");

scanf("%s",s1);

printf("\nPlease input the second string:");

scanf("%s",s2);

strsort(s1); //将字符串s1排序

strsort(s2); //将字符串s2排序

printf("%s\n",s1);

printf("%s\n",s2);

s3[0]='\0'; //字符串s3的第一个字符先置'\0'结束标志

(10) //将s1和s2合并,按照字母顺序排列,

//且要删去相同字符,存入s3中

printf("%s",s3);

}

点击查看答案

第4题

阅读以下应用程序说明和C程序,将C程序段中(1)~(6)空缺处的语句填写完整。

【说明】

某大学征询学生意见,从各学院预选的n(n≤60)位优秀大学生中,评选出“十佳大学生”。以下【C程序】对各位学生选票进行相关的统计、排序等处理。

(1)各学院预选的优秀大学生按1,2,…顺序连续编号,每个编号用两个字符表示,即01,02,…。

(2)所回收的选票按以下格式存于文件source中,每行字符串对应一张选票。其中,姓名占10个字符,学院名称占30个字符,大学生编号占20个字符。

(3)对应名次的大学生编号可以有空缺,但必须用00表示。

(4)若编号超出规定范围,或编号重复出现,按照废票处理。

(5)按选票中所列“十佳大学生”顺序给出各名大学生的得分。评分标准如下:

一 二 三 四 五 六 七 八 九 十

15 12 9 7 6 5 4 3 2 1

(6)按各位大学生得分数由高到低顺序排队,并按以下格式列出“十佳大学生”排行表。

名次 大学生编号 合计得分 合计得票数

若得分相同,则得票数多的在前;若得分和得票数都相同,则编号小的在前。

以下【C程序】中所应用到的函数fopen、fclose和fgets都是I/O程序库中的函数。

【C程序】

include <stdio. h>

define n 60

long int tn[n], td[n], score[n+1][10], order[n];

char s[80];

int mark[]=(15,12,9,7,6,5,4,3,2,1);

FILE *fp, *fopen();

Main()

{ int c, g, k, I, j, b[10];

long int e, d, t, tt, dd;

char * p;

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

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

score[i][j]=0;

fP=fopen("source", "r"); /*以读方式打开文件source*/

p=fgets(s, 80, fp); /*读fp所指文件的下一行字符串于s*/

while(*p){

g=l; k=0; p+=40;

while(k<10){

c=((*p++)-'0')*10+((*p++)-'0');

b[k++]=c)

if(c<=n){

if(c)

{ i=0;

While( (1) );

If( (2) ){g=0; break;}

}

else{g=0; break;}

}

If(g)

For(i=0; i<k; i++)

If(b[i])

(3);

p=fgets(s, 80, fP);

}

Fclose(fp); /*关闭fp所指文件*/

For(i=1; i<n; i++){

For(t=0, d=0, j=0; j<10; j++){

t +=(e=score[i][j]);

d +=e * mark[j];

}

tn[i-1]=t; td[i-1]=d; order[i-1]=i;

}

For(i=0; i<n-1; i++){

k=i;

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

if(

点击查看答案

第5题

阅读以下说明和C语言函数,将应填入(n)处。

【说明】

已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。

函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。

程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)表示year是(或不是)闰年。

【C语言函数】

int count_5_13(int year)

{

int date; /*date为0表示星期日,为1~6分别表示星期一至星期六*/

long days=0; /*days记录天数*/

int m,y,c=0; /*c用于表示黑色星期五的个数*/

if (year<1900) return-1;

/*计算从1900年1月1日起至给定年份year的1月13日间隔的天数*/

days=12;

for (y= 1900; y < year; y++) {

days +=365;

if (isLeapYear(y))(1);

}

date=((days%7) +1) %7; /*算出给定年份year的1月13日是星期几*/

c=((2)) ?1:0;

for(m=1;(3);m++) {

switch (m) {

case 1:case 3: case 5: case 7:case 8:case 10:case 12:

days=31; break;

case 4: case 6: case 9: case 11:

days=30; break;

case 2:days=28;

if((4)) days=29;

break;

}/*end of switch*/

date=((days%7)+ (5) )%7;

if (date==5) c++;

} /*end of for*/

return c;

}

点击查看答案

第6题

阅读以下程序说明和C程序,将程序段中(1)~(7)空缺处的语句填写完整。

【说明】

【C程序1】用回溯算法来产生由0或1组成的2m个二进位串,使该串满足以下要求。

视串为首尾相连的环,则由m位二进制数字组成的2m个子序列,每个可能的子序列都互不相同。例如,如果m=3,在串11101000首尾相连构成的环中,由3位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是111,110,101,010,100,000,001,011,如图2-14所示。

【C程序2】是求“背包问题”的一组解的递归算法程序。“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为W1,W2,…,Wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。

【C程序1】

define N 1024

define M 10

int b [N+M-1]

int equal(int k, int j int m) {

int i;

for(i=0; i<m; i++

if ( b[ k + i] (1) )

return 0;

return 1; }

int exchange (int k, int m, int v){

while ( b[ k + m - 1 ) == v ) {

b[ kncm--i]=! v (2);

}

(3)=v;

return k;

}

init ( iht v) {

int k

for( k = 0;K = N + M - 1;k++)

b[k] = v;

}

main ( ) {

int m, v, k, n, j;

printf ('Enter m (l<m<10) , v v=0, v=1)\ n") ;

scanf (" %d%d , &m, &v);

n = 0x01 << m;

init (!v);

k=0;

while((4)< n)

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

if (equal (k, j, m)) {

k=exchange (k, m, v)

j=(5);

}

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

print{ (" %d\ n" , b[k]) ;

}

}

【C程序2】

include<stdio. h>

define N 7

define S 15

int w[N+1] = {0, 1, 4, 3, 4, 5, 2, 7};

int knap (int S, int n){

if (S == 0)

return 1;

if (s<0 || (s>0 && n<1))

return 0;

if ((6))) {

printf( "4d", w[n]);

return 1;

}

return (7)

}

main ( ) {

if (knap (S, N)

printf("OK:\n");

else

printf("NO!\n")

}

点击查看答案

第7题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

编写程序,生成一个新文本文件,它由一个已知文本文件的所有偶数行组成。要求已知文本文件名和新文本文件名均从键盘输入。请填空完善程序。

【C语言程序】

include<stdio.h>

main()

{

FILE *oldf,*newf;

char ch,fname[20];

int i;

do{

printf("Enter name of existed text file to be read:");

scanf("%s",fname);

if((oldf=fopen(fname,"r"))==NULL)

printf("File %s can't open!\n",fname);

}while(oldf==NULL);

do{

printf("Enter mane of new text file to be written:");

scanf("%s",fname);

if(((1)==NULL)

printf("File %s can't open!\n",fname);

}while((2));

i=1;

while(!feof(oldf))

{

while((ch=fgetc(oldf))!=(3))

{

if(i%2==(4))

fputc(ch,newf);

}

fputc('\n',newf);

(5);

}

fclose(oldf);

fclose(newf);

}

点击查看答案

第8题

实验十一 C程序的指针(二) 一、实验目的 1. 掌握指针和...

实验十一 C程序的指针(二) 一、实验目的 1. 掌握指针和指针变量的概念。 2. 掌握简单指针变量的定义和基本使用方法。 3. 熟悉指针和一维数组的关系,掌握指向一维数组的指针变量的定义方法,熟练使用指针变量访问一维数组元素。 4. 了解指针和二维数组的关系,掌握用指针表示二维数组元素的方法。 5. 了解指针与字符串的关系,能熟练使用指针处理字符串。 二、实验内容及实验步骤 1. 调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求: ⑴ 2个数的和, ⑵ 2个数交换值. 要求用函数指针调用这两个函数,结果在主函数中输出. main() { int a,b,c,(*p)(); scanf("%d,%d",&a,&b); p=sum; *p(a,b,c); p=swap; *p(a,b); printf("sum=%d\n",c); printf("a=%d,b=%d\n",a,b); } sum(int a,int b,int c) { c=a+b; } swap(int a;int b) { int t; t=a; a=b; b=t; } 调试程序时注意参数传递的是数值还是地址. 2. 测试、运行自己编写的程序。 (1)写一个函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int strcmp(char * p1,char * p2); 设p1指向字符串s2,要求当s1=s2时,函数返回值为0;如果s1<>s2,则返回它们二者第一个不相同的ASCII码值(如“BOY”与“BAD”的第二个字母不相同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如果s1<s2,则输出负值。 两个字符串s1、s2由main函数输入,strcmp函数的返回值也由main函数输出。 (2)用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入,最后在主函数中输出。 (3)有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 三、实验报告要求 写明: 1. 实验目的 2. 实验内容与步骤 3. 编写的程序(题目,经调试、运行后正确的程序) 4. 思考题的解决方法。 5.>

点击查看答案

第9题

给定程序MODI1.C中函数fun的功能是:用下面的公式:

π/4=1-1/3+1/5-1/7+.....

求x的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:

例如,程序运行后,输入0.0001,则程序输出3.1414。

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

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

include 〈 math.h 〉

include 〈 stdio.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 ;

}

main()

{ float n1,n2;

printf("Enter a float number:");

scanf("%f", &n1);

n2=fun(n1);

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

}

点击查看答案

第10题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【程序2.1说明】

已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。

【程序2.1】

include <stdioh>

define N 100

void main()

{

float a[N+l],x;

int i,p;

printf("输入已经排好序的数列: ");

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

scanf(%f",&a[i]);

printf("输入要插入的数:");

scanf("%f",&x);

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

if(x<a[i])

{

(1)

break;

}

for(i=N-1; i>=p; i--)

(2)

(3)

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

prinff("%f\t",a[i]);

}

【程序2.2说明】

本程序用变量count统计文件中字符的个数。

【程序2.2】

include <stdio.h>

include <stdlib.h>

void main()

{

FILE *fp;

long count=0;

if((fp=fopen("letter.txt","r"))==NULL)

{

printf("can not open file\n");

exit(0);

}

while(!feof(fp))

{

(4)

count++;

}

printf("count=%d\n",count);

(5)

}

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

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

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

上学吧找答案