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

【C程序】

#include

/*此处为栈类型及其基本操作的定义,省略*/

int main(){

STACK station;

int state[1000];

int n; /*车厢数*/

int begin, i, j, maxNo; /*maxNo为A端正待入栈的车厢编号*/

printf("请输入车厢数:");

scanf("%d",&n);

printf(“请输入需要判断的车厢编号序列(以空格分隔):”);

if(n<1)return-1;

for (i=0; i

scanf("%d",&state[i]);

(1) ; /*初始化栈*/

maxNo=1;

for(i=0; i<n; ){ /*检查输出序列中的每个车厢号state[i]是否能从栈中获取*/

if((2) ){ /*当栈不为空时*/

if (state[i]=Top(station)) { /*栈顶车厢号等于被检查车厢号*/

printf("%d",Top(station));

Pop(&station);i++;

else

if ((3) ) {

printf(“error\n”);

return 1;

else{

begin= (4) ;

for(j=begin+l;j <=state [i];j++){

Push(&station, j);

}

else{ /*当栈为空时*/

begin=maxNo;

for(j=begin; j<=state[i];j++) {

Push(&station, j);

maxNo= (5) ;

printf("OK");

return 0;

查看答案
更多“【C程序】”相关的问题

第1题

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

【说明】

以下【C程序】的功能是,逐一从指定课程成绩文件中读入学生的考号和成绩,对同一学生汇总他(她)的总成绩,并按如图6-14所示格式输出名次(按总成绩由高到底的顺序)、总成绩、同一名次的学生人数、同一名次学生的学号(按学号由小到大的顺序)。

该应用程序约定学生学习课程不超过30种,课程成绩文件的第1个数字就是课程号。统计过程中,同一课程号的成绩文件不能重复输入。

该应用程序采用链表结构存储学生的相关信息,链表中的每个表元对应一位学生。在数据输入过程中,形成一个按学号从小到大顺序链接的有序链表。当数据输入结束后,程序按总成绩从高到低,学号从小到大的顺序对链表排序。最后程序按指定格式输出链表中的信息。

【C程序】

include<stdio.h>

define M 30

define NLEN 10

typedef struct node {

int cur_s; /* 最近输入成绩的科目*/

Char no[NLEN];

int score;

struct node *next;

} NODE;

int s[M], sp, ss, i, mark, order, C;

FILE *fp; NODE *h, *U, *V, *p;

Char fname[80], no[NLEN], ans;

main()

{ for(h = NULL, sp = 0; ;)

{ printf("输入科目成绩文件名(输入aaaa表示强行结束)。 \n");

while(1)

{ scanf("%s", fname);

if (strcmp(fname, "aaaa") == 0)

break;

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

printf("不能打开文件%s, 请重新输入科目文件名。 \n", fname);

else

break;

}

if (strcmp(fname, "aaaa") == 0) break;

fscanf(fp, "%d", &ss); /* 输入科目号 */s[sp]=s;

for (i=0; s[i] ! = ss; 1++);

if ( (1) )

{ printf("该科目的成绩已输入,请输入别的科目成绩文件。\n");

continue;

}

sp++;

while (fscanf(fp, "%s%d", no, &mark) == 2)

{ /* 在链表中寻找最近输入的学号 */

for(v = h; v != NULL && strcmp(v-> no, no)<0; u=v, v= v-> next);

if (v !=NULL && strcmp(v->no, nb) == 0)

{ /* 该生已有成绩 */

if (V->cur_s != ss)

{ /* 该生的当前科目成绩是第一次输入 */

v->score += mark; /* 累计总成绩 */

v->cur_s = ss;

} /* 同一科目成绩重复输入,后输入成绩被忽略 */

}

else

{ p = (NODE *)malloc(sizeof(NODE)); /* 一位新的学生 */

strcpy(p->no,no);

p->score = mark;

p->cur_s = ss;

p-> next = v;

点击查看答案

第2题

待修改的【C程序】中存在3个错误,请指出各个错误所在的行号,并给出相应的修改意见。

点击查看答案

第3题

在下列打开控制面板的方法中,正w确的是______。

  A.选择【开始】|【所有程序】|【附件】|【控制面板】命令

  B.选择【开始】|【所有程序】|【设置】|【附件】|【控制面板】命令

  C.选择【开始】|【控制面板】命令

  D.以上都不对

点击查看答案

第4题

【填空题】C程序是由( )组成的?
点击查看答案

第5题

【单选题】C#程序的基本单位是( )

A、字符

B、语句

C、函数

D、命名空间

点击查看答案

第6题

阅读以下应用程序说明和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(

点击查看答案

第7题

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

【说明】

某超市集团为发展业务向社会公开招聘N个工种的工作人员,每个工种各有不同的编号(1至M)和计划招聘人数。每位应聘者需申报两个工种,并参加集团组织的考试。该集团公司将按应聘者的成绩从高分至低分的顺序进行排队录取。具体录取原则是:从高分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其第二志愿录取。

以下C程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都作了录取处理后跳出。

C程序中,类型STU包含有应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组 rzl)的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。

【C程序】

include

define N 36

define EDMARK 5

typedef struct stu {

int no, total, z[2], sortm, zi;

struct stu *next;

} STU;

struct rznode {

int lmt, count;

STU *next;

} rz [N];

STU *head = NULL, *over = NULL;

int all

FILE *fp;

char dataf [ ] = "zp2008.dat" ;

print(STU *p)

{ for (;p!=NULL; p = p->next)

printf( "%d(%d) \t" , p->no, p->total

}

insert(STU **p, STU *u)

{ STU *v, *q;

for (q = *p;q != NULL; v = q , (1) )

if (q-> sortm < u->sortm)

break;

if ( q == *p)

(2);

else

(3);

u->next = q ;

}

main ( )

{ int zn, i, no, total, zl, z2 ;

STU *p, *v, *q;

fp = fopen(dataf, "r" );

if (fp == NULL)

{ printf ("Can't open file %s.kn" ,dataf);

exit (0);

}

fscanf (fp, "%d" ,&zn);

for (all = 0, i = 1; i <= zn; i++)

{ fscanf (fp, "%d", &rz [ i ].lmt ;

rz[i].count = 0;

rz[i].next = NULL;

all +=(4);

}

for (;;)

{ if (( fscanf(fp, "%d%d%d%d" ,&no,&total,&zl,&z2)) != 4 )

break;

p = ( STU *) malloc (sizeof (STU));

p->no = no;

p->total = p->sortm = total;

p->zi = 0;

p->z[0] = z1;

p->z[1] = z2;

(5);

}

fclose (fp);

for (;all && head != NULL;)

{ p = head;

head = head->next;

if (rz[p->z[p->zi]].count <(6))

{ rz[p->z[p->zi]].count ++;

insert(&rz[p->z[p->zi]].next,p);

all--;

continue;

}

if (p->zi >= 1 )

{ p->next = over;

ver = p;

continue;

}

p->sortm -= DEMARK;

(7);

insert(&head,p);

}

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

{ printf("%d:\n" ,i);

print( rz[i ].next);

printf(" \n");

}

printf( "over:\n" );

print(head);

print(over);

printf(" \n");

}

点击查看答案

第8题

在C程序中,指针变量只能接受【 】值.
点击查看答案

第9题

试题二 ( 共15 分)

阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。

【 问题1 】

分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。

【C程序】

【 问题2】

函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。

请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。

【C 函数】

点击查看答案

第10题

阅读以下程序说明和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")

}

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

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

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

上学吧找答案