直接在Idle中输入下列代码: >>>str1 = "hello" >>>str2 = "hello" >>>id(str1) 4398200 则输入id(str2),输出的结果为:
A.4398205
B.4398195
C.4398200
D.随机值
- · 有5位网友选择 C,占比50%
- · 有4位网友选择 A,占比40%
- · 有1位网友选择 D,占比10%
A.4398205
B.4398195
C.4398200
D.随机值
阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【程序5说明】
设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用"()"括起来的各子树的列表(如有子树的话),各子列表间用","分隔。例如下面的三叉树可用列表a(b(c,d),e,f(g,h,i))表示。
本程序输入列表,生成一棵M叉树,并由M叉树输出列表。假定输入无错误。
【程序5】
#include
#include
B.h>
#define M 3
typedef struct node{char val;
struct node*subTree[M];
}NODE;
char buf[255],*str=buf;
NODE*d=NULL
NODE*makeTree()/*由列表生成M叉树*/
{int k;NODE*s;
s= (1) ;
s->val=*str++;
for(k=0;ksubTree[k]=NULL;
if(*str=′(′){
k=0;
do{str++;
s->subTree[k]= (2) ;
if(*str==′)′){str++;break;}
k=k+1;
}while((3) );
}
return s;
}
void walkTree(NODE*t)/*由M叉树输出列表*/
{int i;
if(t!=NULL){
(4)
if(t->subTree[0]==NULL)return;
putchar(′(′);
for(i=0;i
(5) ;
if(i!=M-1&&t->subTree[i+1]!= NULL)
putchar(′,′);
}
putchar(′)′);
}
}
void main()
{printf("Enter exp:");
scanf("%s",str);
d=makeTree();
walkTree(d);putchar(′\n′);
}
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。
【程序】
#include
main()
{FILE*fp;
charstr[100];inti=0;
if((fp=fopen("text.txt" (1) ))==NULL)
{printf("can't open this file.\n");exit(0);}
printf("input astring:\n");gest(str);
while(str[i])
{if(str[i]>=′a′ && str[i]<=′z′)
str[i]= (2) ;
fputc(str[i], (3) );
i++;
}
fclose(fp);
fp=fopen("test.txt", (4) );
fgets(str,100,fp);
printf("%s\n",str);
(5) ;
}
【程序5说明】
设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用“()”括起来的各子树的列表(如有子树的话),各子列表间用“,”分隔。例如下面的三叉树可用列表a(b(c,d),e,f(g,h,i))表示。
本程序输入列表,生成一棵M叉树,并由M叉树输出列表。假定输入无错误。
【程序5】
include<Stdio.h>
include<Stdlib.h>
define M 3
typedef struct node{char val;
struct node,subTree[M];
}NODE;
char buf[255],*Str=buf;
NODE * d=NULL
NODE*makeTree()/*由列表生成M叉树*/
{int k;NODE*s;
s=(1);
s->val= *Str++;
for(k=0;k<M;k++)s->subTree[k]=NULL;
if(* str='('){
k=0;
do{str++;
s->sub Tree[k]=(2);
if(*Str==')'){Str++;break;}
k=k+1;
}while((3));
}
return s;
}
void walkTree(NODE*t)/*由M又树输出列表*/
{int i;
if(t!=NULL){
(4)
if(t->subTree[0]==NULL)return;
putchar('(');
for(i=0;i<M;i++){
(5);
if(i!=M-1&&t->subTree[i+1]!=NULL)
putchar(',');
}
putchar(')');
}
}
void main()
{printf("Enter exp:");
scanf("%s",str);
d=makeTree();
walkTree(d);putchar('\n");
}
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明2.1】
以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。
【函数2.1】
void fun1(int a[])
{int i,j,k,r,x,m;
for(i=2;i<=n;i++)
{ (1) ;
k=1;r=i-1;
while(k<=r)
{m=(k+r)/2;
if(x
else (2) ;
}
for(j=i-1;j>=k;j--)
a[j+1]=a[j];
(3) ;
}
}
【说明2.2】
以下程序可以把从键盘上输入的十进制数(1ong型)以二~十六进制形式输出。
【程序2.2】
#include
main()
{char b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
int c[64],d,i=0,base;
long n;
printf(″enter a number:′n″);
scanf(″%1d″,&n);
printf(″enter new basc:kn″);
scanf(″%d″,&base);
do
{c[i]= (4) ;
i++;n=n/base;
}while(n!=0);
printf("transmite new base:\n");
for(--i;i>=0;--i)
{ d=c[i];
printf("%c", (5) );
}
}
阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。
【程序6说明】
本程序实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数有:
createList():创建按指数降序链接的多项式链表,以表示多项式。
reverseList():将多项式链表的表元链接顺序颠倒。
multiplyList(List L1,List L2):计算多项式L1和多项式L2的乘积多项式。
【程序6】
#include
class List;
class ltem{
friend class List;
private:
double quot;
int exp;
Item*next;
public:
Item(double_quot,int_exp)
{ (1) ;}
};
class List{
private:
Item*list;
public:
List(){list=NULL;}
void reverseList();
void multiplyList(List L1,List L2);
void createList();
};
void List::createList()
{Item*p,*u,*pre;
int exp;
double quot;
list=NULL;
while (1) {
cout$amp;cin$amp;>amp;$gt;quot$amp;>amp;$gt;exp:
if(exp<0)break;//指数小于零,结束输入
if(quot==0)continue;
p=list;
while((2) ){//查找插入点
pre=p;p=p->next;}
if(p!=NULL&&exp==p->exp){ p->quot+=quot;continue;}
u= (3) ;
if(p==list) list=u;
else pre->next=u;
u->next=p;}
}
void List::reverseList()
{Item*p,*u;
if(list==NULL)return;
p=list->next;list->next=NULL;
while(p!=NULL){
u=p->next;p->next=list;
list=p;p=u;}
}
void List::multiplyList(List L1,List L2)
{Item*pLl,*pL2,*u;
int k,maxExp;
double quot;
maxExp= (4) ;
L2.reverseList();list=NULL;
for(k=maxExp;k>=0;k--){
pL1=L1.list;
while(pL1!=NULL&&pL1->exp>k)pL1=pL1->next;
pL2=L2.list;
while(pL2!=NULL&& (5) pL2=pL2->next;
quot=0.0;
while(pL1!=NULL&&pL2!=NULL){
if(pL1->exp+pL2->exp==k){
(6) ;
pL1=pL1->next;pL2=pL2->next;
}else if(pL1->exp+pL2->exp>k)pL1=pL1->next;
else pL2=pL2->next;
}
if(quot!=0.0){
u=new Item(quot,k);
u->next=list;list=u;}
}
reverseList();L2.reverseList():
}
void main()
{ListL1,L2,L;
cout$amp;cout$amp;L.multiplyList(L1,L2);
}
A.对输入的10个数据求累加和
B.对输入的10个数据求各自的余数,然后再进行累加
C.对输入的10个数据分别统计有几个是整数,有几个是非整数
D.对输入的10个数据分别统计有几个是奇数,有几个是偶数
A.对输入的10个数据求累加和
B.对输入的10个数据求各自的余数,然后再进行累加
C.对输入的10个数据分别统计奇数和偶数的个数
D.对输入的10个数据分别统计整数和非整数的个数
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!