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

阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。【程序说明】 对角线下元素全为0

阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。

【程序说明】

对角线下元素全为0的矩阵称为上三角矩阵,设对于一个n×n的上三角矩阵a,为节约存贮,只将它的上三角元素按行主序连续存放在数组b中。下面的函数trans在不引入工作数组的情况下,实现将a改为按列主序连续存放在数组b中。

设n=5,

阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。【程序说明】 对角线下元素全为0

b=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)

经调用trans函数后,b变为

b=(1,2,6,3,7,10,4,8,11,13,5,9,12,14,15)

函数tans对数组元素的存贮位置作调整。调整过程中存在若干个循环传送链:

b(i1)→b(i2)→b(ij)→b(i1)1≤j<n

例如,考察调整后的数组元素b(2)(值为6),与该元素相关的位置调整将形成下面的循环传送链:

b(2)→b(3)→b(6)→……→b(12)→b(9)→b(5)→b(2)

关键是确定循环传送链的下标i1,i2,…,ij,以及在考察调整后的元素b(k)(k;3,4,…)时能判定b(k)是已被传送过的某传送链上的元素。

函数ctr(k,n)计算调整后的数组b的第k个元素b(k)在原数组b中的位置,该位置作为函数ctr(k,n)的返回值。函数ctr根据k确定它在矩阵中的行号i和列号j(注意行号和列号均从 0算起),然后按矩阵存放原则计算出它在b中的位置。

【程序】

trans(b,n)

int n,b[]

{

int m,k,r,cc,rr;

int w;

m=(n+1)*n/2-4;

k=2;

while(m>0)

{

r=ctr(k,n);

if(r==k)

m--;

else

{

cc=k;rr=r;

while (1)

{

cc=rr,rr=ctr(cc,n);

}

if (2)

{

cc=k;rr=r;w=b[k];

while (3)

{

b[cc]=b[rr];m--;

cc=rr,rr=ctf(cc,n);

}

b[cc]-w; (4);

}

}

k++;

}

}

ctr(k,n )

int k,n

{

int i,j;

i=k;j=0;

while (5)

i - =++j ;

return(i*n+j-i*(i+1)/2);

}

查看答案
更多“阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。【程序说明】 对角线下元素全为0”相关的问题

第1题

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。【说明】阅读下面几段C++程序回

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。

【说明】

阅读下面几段C++程序回答相应问题。

比较下面两段程序的优缺点。

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

{

if (condition)

//DoSomething

else

//DoOtherthing

}

②if (condition) {

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

//DoSomething

}else {

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

//DoOtherthing

}

点击查看答案

第2题

阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。 【说明】 程序利用选择排序算

阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。

【说明】

程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。

【程序】

define N 10

main()

{

void (1);

int i,a[N];

for(i=0;i<10,i++) /*输入*/

scanf(“%d”,&a[i]);

(2);

for(i=0;i<N,i++) /*输出*/

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

}

void selectSon(int x[],int n)

{

int i,j,k,t;

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

{

k=i;

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

if (4) k=j;

if (5)

{t=x[i];x[i]=x[k];x[k] =t;}

}

}

点击查看答案

第3题

试题三(共 15 分) 阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

试题三(共 15 分)

阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

点击查看答案

第4题

●试题二 阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 该程序

●试题二

阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

该程序运行后,输出下面的数字金字塔

【程序】

include<stdio.h>

main ()

{char max,next;

int i;

for(max=′1′;max<=′9′;max++)

{for(i=1;i<=20- (1) ;++i)

printf(" ");

for(next= (2) ;next<= (3) ;next++)

printf("%c",next);

for(next= (4) ;next>= (5) ;next--)

printf("%c",next);

printf("\n");

}

}

点击查看答案

第5题

阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。[函数2.1说明] 下面程序的功能是计算

阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。

[函数2.1说明]

下面程序的功能是计算x和y的最小公倍数。

[函数2.1]

main()

{ int m,n,d,r;

seanf("%d %d",&m,&n);

if(m<n) {r=m;m=n;n=r;}

(1);

while (d%n! =0) (2);

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

}

[函数2.2说明]

下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。

[函数2.2]

include <stdio.h>

main()

{ char c,preChar='\0';

c = getchar();

while(c! = '.'){

if((3)) putchar(c);

else if(preChar! =' ') putchar(c);

(4);

c=(5);

}

}

点击查看答案

第6题

阅读下列程序和控制流图,将应填入(n)的字句。 【程序】 下面是一段求最大值的程序,其中datalist是数

阅读下列程序和控制流图,将应填入(n)的字句。

【程序】

下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n,int datalist[]){

int k=0;

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

if(datalist[j]>datalist[k])

k=j;

return k;

}

该程序的控制流图中A~E分别是什么?

点击查看答案

第7题

阅读下列利用递归来求n!的程序。 为保证程序正确运行,在下画线处应该填入的参数是()。

阅读下列利用递归来求n!的程序。为保证程序正确运行,在下画线处应该填入的参数是()。

A.n-1

B.n-2

C.n

D.n+l

点击查看答案

第8题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【程序2.1说明】 求所有满足如下

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

【程序2.1说明】

求所有满足如下条件的三位数:它除以11得的商等于它各位数字的平方和。例如 550,除以11商为50,50=52+52+02。

【程序2.1】

void main()

{

int i, j,n,s;

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

{

n=i;

j=n/11;

s=0;

while((1))

{

(2)

n/=10;

}

if((3))

printf("%d\t",i);

}

}

【程序2.2说明】

本程序输入一字符串,将其中的大写字母改变成小写字母。

【程序2.2】

void main()

{

int i=0;

char s[120];

scanf("%s",s);

while((4))

{

if((5))

s[i]=s[i]- 'A'+'a';

i++;

}

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

}

点击查看答案

第9题

阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】StringEditor类的功能是:已

阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。

【说明】StringEditor类的功能是:已知一个字符串,返回将字符串中的非字母字符都删除后的字符串。

public (1) {

public static String removeNonLetters((2) ){

StringBuffer aBuffer=(3);

char aCharacter;

for(int i=0; i<original.length();i++){

aCharacter=(4);

if(Character.isLetter(aCharacter))

aBuffer.append((5) );

}

return new String(aBuffer);

}

}

public class StringEditorTester{

public static void main(String args[]){

String riginal="Hi!, My Name is Mark, 234I think you are my classmate?!!";

System.out.println(StringEditor.removeNonLetters(original));

}

}

点击查看答案

第10题

阅读下列程序说明和C代码,把应填入其中n处的字句写在对应栏内。 【说明】 下面的程序能够计算不同图

阅读下列程序说明和C代码,把应填入其中n处的字句写在对应栏内。

【说明】

下面的程序能够计算不同图形的面积。程序中把每个图形的数据定义成结构类型,利用共同体类型描述2种图形的数据。程序根据输入参数代表的图形类型,求出图形的面积并输出。

【程序】

struct Circle

{

float x,y; /*圆心位置*/

float r; /*圆半径*/

};

struct Rectangle

{

float width; /*矩形宽*/

float length; /*矩形长*/

};

union shape

{

struct Circle circle;/*圆数据结构*/

struct Rectangle rectangle;/*矩形数据结构*/

};

main()

{

union shape a;

float area;

int i;

printf(“input number: 1circle,2rectangle,3 end\n”);

scanf("%d",&i);

while (1) /*循环接收输入,并计算输出*/

{

switch(i)

{

case 1:printf(“input radius:\n”);

scanf(“%f”, (2);/*共同体类型变量接收输入*/

area=3.1415926* (3);

printf(“the area of circle=%f\n”,area);

break;

case 2:printf(“input width and length :\n”);

seanf(“%f,%f”, (4);/*共同体类型变量接收输入*/。

area=(5);

printf(“the area of rectangle=%f\n”,area);

break;

}

printf(“input number:1 circle,2 rectangle,3 end\n”);

scanf(“%d”,&i);

}

}

点击查看答案

第11题

阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】清点盒子。本程序当用户输

阅读下列Java程序和程序说明,将应填入(n)处的字句写在对应栏内。

【说明】清点盒子。本程序当用户输入一个整数值时,一切正常;当输入其他数值时,程序就出错。现在已做了改进,请填空。

import java. text. NumberFormat;

Public class InventoryLoop

{

public static void main(String args[])

{

String numBoxesIn;

Int numBoxes;

Double boxPrice=3.25;

Boolean gotGoodInput=false;

NumberFormat currency=NumberFormat.(1);

do

{

System.out. print(“How many boxes do we have?”);

numBoxesIn=DummiesIO. (2);

try

{

numBoxes=Integer.parseInt((3));

system. out. print("The value is");

system.out. println(currency, format (numBoxes*boxPrice));

gotGoodInput=true;

catch((4))

{

System.out.println();

System.out. println(That's not a number.");

}

}while((5));//输入不正确时

System. out.println("That's that.");

}

}

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

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

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

上学吧找答案