求大神解答3道c语言的题目!急急急 一道c语言的题目。急求大神解答。

作者&投稿:夕甄 (若有异议请与网页底部的电邮联系)
9.20 *(ptr+y)就是a[y] 就是a[y]与8的比较,a[y]始终小于8,所以就是6
9.22 s[0]~s[5]分别为0(s[0]未初始化,初始值要看编译器对未初始局部变量处理方式而定),C,D,E,F,G,fun函数就是从G开始往前找到E,取E的下标

5.5 就如上面所说,sum是一个未初始化局部变量,一般来说初始值是函数栈空间中未定义的值,除非有些编译器会进行代码优化。

我一个一个回答,身边没有本子,给你打字说,9.20:
指针prt指向数组a的第一个值,也就是2,开始第一个循环,y=0,那么prt+y也就是指指针没变化,还是2,2<8,所以z的值为2,进入下一个循环,y=1,prt+y=4,4<8,z=4,进入下一个循环,y=2,prt+y=6,6<8,z=6,进入下一个循环,y=3,不满足y<3,循环终止,z为6

前两个题手工写上的答案都是正确的,最后一题的判断也是正确的,显然题有错。你要问什么呢?

求大神给我解答一道c语言的题目,急急急!!~


#include
int max,min,sum=0;
void find(int a[],int n)
{
int i;
min=max=a[0];
for(i=0;i<n;i++)
{
if(min>a[i])
min=a[i];
if(max<a[i])
max=a[i];
sum+=a[i];
}
}
void main()
{
int a[20];
printf("请输入20个数:
");
for(int i=0;i<20;i++)
scanf("%d",&a[i]);
find(a,20);
for(i=0;i<20;i++)
{
printf("%4d",a[i]);
if((i+1)%5==0)
printf("
");
}
printf("max=%dmin=%dsum=%d
",max,min,sum);
}
刚调试了,完成了要求!我还把输入的数给你输一遍出来!
希望我的回答对你有帮助!

这是由于原来的程序采用了递归,而且递归程序中的局部变量有较大的数组。当递归层数太多时,就会造成系统栈溢出,而导致程序崩溃。
以下的程序改为非递归的,就不会再有此现象:
#include
void f(int n,int a[],int b[])
{
int j,i,c[20000];
for(i=0;i<2*n;i++) c[i]=a[i];
for(i=0,j=1;i<n;i++,j=j+2) a[j]=c[i];
for(j=0;i<2*n;i++,j=j+2) a[j]=c[i];
}
int main()
{
int i,n,a[20000],b[20000],num=0; //做到20000张牌也能正确出解
scanf("%d",&n);
for(i=0;i<2*n;i++) a[i]=i;
for(i=0;i<2*n;i++) b[i]=i;
for(i=0;i<n+n;)
{
f(n,a,b);
num++;
for(i=0;i<2*n;i++)
if(a[i]!=b[i])break;
}
printf("%d
",num);
return 0;
}

求大神解答3道c语言的题目!急急急
答:9.20 *(ptr+y)就是a[y] 就是a[y]与8的比较,a[y]始终小于8,所以就是6 9.22 s[0]~s[5]分别为0(s[0]未初始化,初始值要看编译器对未初始局部变量处理方式而定),C,D,E,F,G,fun函数就是从G开始往前找到E,取E的下标 5.5 就如上面所说,sum是一个未初始化局部变量,...

一些简单的C语言题目第3弹,请高手指教!
答:题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成...求大神指教! 2007-01-02 一个简单的C语言问题,请哪位高手指教? 2010-03-27 C语言的问题,比较简单,请高手指教 2010-11-15 c语言 选择题 请高手...

三道c语言的程序题要求要步骤全、最好把思路写上 先上200分在线等_百 ...
答:第三题,让 x 从1开始循环到 9 ,依次代入 111*11* (10*x+1) 这个式子中,如果结果等于 111111 ,那么就找到对应的x了,然后打印结果即可。 最终结果 x = 9.include <stdio.h> int main(){ int x;for (x = 1; x <= 9; x++){ if (111*11*(10*x + 1) == 111111){ pri...

C语言题目 多项选择(至少两个正确答案)
答:1. 以下选项是C语言关键字的是(A、C、D)。A.main B.FOR C.break D.void 2. 以下选项可作为C语言合法整数的是(A、B、C)。A.12345L B.0xabff C.0678 D.x3f0 3. 代数式ae/(bc) 的正确C语言表达式是( A、B、D)。A.a/b/c*e B.a*e/b/c C.a*e/b*c...

c语言题,求大神解答一下我做的对不对,急急急!
答:却赋值字符数组的方式去赋值。D中给int类型的数组赋值了字符串,不正确。例五正解为C,数组a中存入了字符串,a[0] = 'x',以此类推,但是字符串初始化时,会在数组最后再存入一个'\0'休止符作为结束。所以sizeof(a)的值为4;数组b的长度如题可知为3。所以数组a的长度大于b的数组长度 ...

c语言题目,求1.2.3题答案,多谢大佬!
答:mygcd(a,b));printf("The LCM if %d\n",mylcm(a,b));return 0;}运行样例:(2)include "stdio.h"#include "math.h"int main(int argv,char *argc[]){double a,b,c,t,f;printf("Input 3 number(R:)...\n");scanf("%lf%lf%lf",&a,&b,&c);t = (t=b*b-4*a*c)>...

有关C语言的几道题,求答案及解释
答:1、题目倒数第二句改为“输入字符A后”的话,ch的值是'A',getchar()是从标准输入流读取一个字符,并返回这个字符,赋值给了ch,所以ch的值就是你输入的那个字符,你输入A,它的值就是A 2、暂时还不是很明白,C和D都能在win-tc下编译通过,值都存在变量str3,和str4里面,可以通过printf("...

大一c语言题目,求大神啊,万分感谢啊
答:第二题:include<stdio.h>struct person{ int id; int age;};int main(){ struct person List[10] = { { 1, 30 }, { 2, 31 }, { 3, 30 }, { 4, 39 }, { 5, 28 }, { 6, 30 }, { 7, 33 }, { 8, 30 }, { 9, 30 }, ...

问几道C语言的题啊~求高手解决~~
答:填空题:1.假设a=10,写出下面表达式中a的运行结果 (1)a+=a 结果为:20 (2)a-=2 结果为: 18 (3)a*=2+3 结果为: 50 (4)a/=a+a 结果为: 如果你a是int的话,结果是0 (5)a%=(5%2) 结果为:0 (6)a+=a-=a*=a 结果为: 0 2.将下列各式写成C语言的表达式...

C语言简单题
答:第2题:结果应该是1,因为unsigned short类型的数值范围是0到65535,(- -!汗,你可找c\c++程序设计的书,那里可以找到数据类型的数值范围)因为int是范围要大多,又因为signeed是以补码形式存放,而unsigned是全部2进制位都用本身表示自己,所以 程序的输出结果是-1;第3题:x/y=0.5,但要自动...