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

下面是一个c语言程序及其运行结果。运行结果看,从函数FUNC中4个局部变量i1.j1,fl,e1的地址问隔

和它们类型的大小是一致的。而4个形式参数i,j,f,e的地址间隔和它们类型的大小不一致,试分析不一致的原因。

运行结果为:

下面是一个c语言程序及其运行结果。运行结果看,从函数FUNC中4个局部变量i1.j1,fl,e1的地

查看答案
更多“下面是一个c语言程序及其运行结果。运行结果看,从函数FUNC中4个局部变量i1.j1,fl,e1的地址问隔”相关的问题

第1题

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

[函数2.1说明]

将一个正整数分解质因数。例如:输入90,打印出90=2×3×3×5。

[函数2.1]

fun 1 ( int n )

{

int i;

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

{

while (((1))

{

if (n %i==0 )

{ printf ( "%d*",i );

(2)

}

else

break;

}

}

printf ( "%d",n ) ;}

[函数2.2说明]

下面程序的功能是:海滩上有一堆桃子,5只猴子来分。第1只猴子把这堆桃子平均分为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第2只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第3、第4、第5只猴子都是这样做的,问海滩上原来最少有多少个桃子?

[函数2.2]

main ( )

{int i, m, j, k, count;

for ( i=4;i<10000;i+=4 )

{ count=0;

(3);

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

{

(4);

i=j;

if ( j%4==0 )

(5);

else

break;

}

i=m;

if ( count==4 )

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

break;}

}

}

点击查看答案

第2题

假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

例如,字符串中的内容为:******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为;*******A*BC*DEF*G****。n的值在主函数中输入。

在编写函数时,不得使用C语言提供的字符串函数。

注意:部分源程序在文件PROGl.C文件中。

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

点击查看答案

第3题

请教:2013年9月全国计算机等级《二级C语言程序设计》命题预测试卷一第1大题第9小题如何解答?
【题目描述】

 

有下列程序:

int fun(int x[],int n)

{ static int sum=0,i:

for(i=0;i<n;i++) sum+=x[i];

return sum;

}

main

{ int a[]={1,2,3,4,5),b[]={6,7,8,9),s=0:

s=fun(a,5)+fun(b,4);printf("%d\n",s):

}

程序执行后的输出结果是( )。

A.45 

B.50

C.60 

D.55

【我提交的答案】: A
【参考答案与解析】:

正确答案:C

答案分析:

 

在函数int fun(int xE],int n)的定义中,变量sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数int fun(int x[],int n)的功能是求出数组X[]各个元素的和,所以在j三函数中,调用函数fun(a,5)后,变量sum =1+2+3+4+5=15,当再次调用fun(b,4)后,变量sum= 15+6+7+8+9=45,所以S=l5+45=60。

两个Fun函数中sum值为什么是一样的啊?不是每一次调用的时候都对Sum初始化了吗?

点击查看答案

第4题

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

【函数2.1说明】

将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

【函数2.1】

Fun1 (int n)

{

int i;

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

{

while ((1))

{

if (n%i==0)

{

printf("%d*",i);

(2);

}

else

break;

}

}

printf("%d",\n);

}

【函数2.2说明】

下面程序的功能是:海滩上有一堆桃子,5只猴子来分。第1只猴子把这堆桃子平均分为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第2只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把多的一个扔入海中,拿走了一份。第 3、4、5只猴子都是这样做的,问海滩上原来最少有多少个猴子?

【函数2.2】

main()

{

int i,m,j,k,count;

for(i=4;i<10000;i+=4)

{

count=0;

(3);

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

{

(4);

i=j;

if(j%4==0)

(5);

else

break;

}

i=m;

if(count==4)

{

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

break;

}

}

}

点击查看答案

第5题

请教:2013年9月全国计算机等级《二级C语言程序设计》命题预测试卷一第1大题第9小题如何解答?
【题目描述】

有下列程序: 

int fun(int x[],int n) 

{ static int sum=0,i; 

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

  sum+=x[i]; 

 return sum;} 

main 

{ int a[]={1,2,3,4,5),b[]={6,7,8,9},s=0;

 s=fun(a,5)+fun(b,4);

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

程序执行后的输出结果是( )。

A.45

B.50

C.60

D.55

【我提交的答案】:
【参考答案与解析】:

正确答案:C

答案分析:

在函数int fun(int xE],int n)的定义中,变量sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数int fun(int x[],int n)的功能是求出数组X[]各个元素的和,所以在j三函数中,调用函数fun(a,5)后,变量sum =1+2+3+4+5=15,当再次调用fun(b,4)后,变量sum= 15+6+7+8+9=45,所以S=l5+45=60。

#include<stdio.h>

int fun(int x[],int n) 

static int sum=0,i; 

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

sum+=x[i]; 

   return sum;

void main()

int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);

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

点击查看答案

第6题

假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:使字符串中前部的*号不得多余n个;若多余n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

例如,字符串中的内容为****A*BC*DEF*G*******,若 n的值为2,删除后,字符串中的内容则应当是 **A*BC*DEF*G*******;若n的值为4,则字符串中的内容仍为****A*BC*DEF*G******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。

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

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

试题程序:

include <stdio.h>

include <conio.h>

void fun (char Aa, int n)

{

}

main ()

{ char s[81];int n;

printf ("Enter a string : \n") ;gets (s);

printf ("Enter n : "); scanf ("%d", &n);

fun( s,n );

printf("The string after deleted :\n");

puts (s);

}

点击查看答案

第7题

请教:2013年9月全国计算机等级《二级C语言程序设计》考前冲刺试卷五第1大题第31小题如何解答?
【题目描述】

有以下程序

#include<stdio.h>

void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/

{int t,i,j;

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

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

if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

}

main

{int c[10]={1,2,3,4,5,6,7,8,9,0),i;

fun(c+4,6);

for(i=0;i<10;i++)printf("%d,",c[i]);

printf("\n");

}

程序运行的结果是( )。

A.1,2,3,4,5,6,7,8,9,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,9,8,7,6,5,0,

【我提交的答案】: C
【参考答案与解析】:

正确答案:D

答案分析:

fun函数的功能是对数组a[]的元素从大到小进行排序。

有以下程序#includevoid fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/{int t,i,j;for(i=0;ifor(j=i+l;jif(a[i]}main{int c[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序运行的结果是( )。A.1,2,3,4,5,6,7,8,9,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,9,8,7,6,5,0, 答案为什么选D
点击查看答案

第8题

请教:2013年9月全国计算机等级《二级C语言程序设计》命题预测试卷五第1大题第28小题如何解答?
【题目描述】

 

有以下程序

#include<stdio.h>

int fun(char s[])

{int n=0;

while(*s<='9'&&*s>='0'){n=10*n+*s-'o';s++;)

return(n);

}

main

{char s[10]={'6','1','*','4','*','9','*',' 0','*');

printf("%d",fun(s));

}

程序运行的结果是( )。

A.9 

B.61490

C.61 

D.5

【我提交的答案】:
【参考答案与解析】:

正确答案:C

答案分析:

在fun函数中,while循环的功能是逐个取字符数组s的字符判断其是否是数字。若是则将这些数字组成一个数保存到变量n中,并返回变量n的值。

点击查看答案

第9题

请教:2013年9月全国计算机等级《二级C语言程序设计》命题预测试卷五第1大题第28小题如何解答?
【题目描述】

 

有以下程序

#include<stdio.h>

int fun(char s[])

{int n=0;

while(*s<='9'&&*s>='0'){n=10*n+*s-'o';s++;)

return(n);

}

main

{char s[10]={'6','1','*','4','*','9','*',' 0','*');

printf("%d",fun(s));

}

程序运行的结果是( )。

A.9 

B.61490

C.61 

D.5

【我提交的答案】: B
【参考答案与解析】:

正确答案:C

答案分析:

在fun函数中,while循环的功能是逐个取字符数组s的字符判断其是否是数字。若是则将这些数字组成一个数保存到变量n中,并返回变量n的值。

为什么后面的数字不输出了呢?

点击查看答案

第10题

请教:2011年9月国家二级(C语言)笔试真题试卷第1大题第28小题如何解答?
【题目描述】

有以下程序

  #include<stdio.h>

  #define N 4

  void fun(int a[][N],int b[])

  { int i;

   for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-1-i];

  }

  main()

  { int x[N][N]:{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;

   fun(x,y);

   for(i=0;i<N;i++) prinff("%d,",y[i]);printf("\n");

  }

  程序运行后的输出结果是A.-12,-3,0,0,

B.-3,-1,1,3,

C.0,1,2,3,

D.-3,-3,-3,-3,

【我提交的答案】: A
【参考答案与解析】:

正确答案:B

答案分析:

解析:从程序中看出,执行函数fun时,当i从0到3时,a[i][i]分别为1、6、11、16,a[i][N-1-i]分别为4、7、10、13,y[i]的值分别为两个数组对应值相减,所以答案为B)。

完全不懂

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

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

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

上学吧找答案