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

作者&投稿:虿袁 (若有异议请与网页底部的电邮联系)
求大神给我解答一道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;
}

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语言三道选择题,求大神给个具体的解题分析,谢谢了,在线等。
18题:解析:先看返回值,b和d选项,函数没有定返回值,但是return 有返回。再看a和c的返回值类型,a需要返回double,但是为int行,只有c符合。19题:strcat是连接字符串函数,strcat(str1,str2),谁在前,连接完就在前,strcap是拷贝函数,会覆盖原字符串。20题:s2就是数组的地址,所以t保存...

C语言的三道题,求大神解答
int main(){ int a = 5; \/\/ 定义并初始化变量a int b = 2; \/\/ 定义并初始化变量b int c = 3; \/\/ 定义并初始化变量c printf("(a+b)*c = %d\\n", (a+b)*c); \/\/ 输出表达式的值 return 0;} 这段代码会输出:(a+b)*c = 21 ...

求解三道基础的c语言问题,谢谢大神们
第一道,单引号和斜杠都是特殊字符,斜杠是转义字符,比如选项b,就表示一个单引号字符。第二道,字符1的内存是0x31,转成10进制是49,再加3,所以是52。第三道,小数默认是double类型,是8个字节,但是后面加F表明这是float类型的,是4字节,所以选C。

c语言题目,求大神解答
C语言代码如下:include <stdio.h> int main() { int a, b, c;scanf("%d,%d,%d", &a, &b, &c);printf("%d\\n%d\\n%d\\n", a * a, b * b, c * c);return 0;} 运行结果如下:输出符合测试用例,望采纳~

C语言的三道题,求大神解答
1,include<stdio.h> int main(){ int a,b=2,c;printf(“请输入a和c:\\n”);scanf(“%d %d”,&a,&c);printf(“%d\\n”,(a+b)*c);return 0;} 2,include<stdio.h> int main(){ int a;scanf(“%d”,&a);printf(“%d”,a);return 0;} 3,include<stdio.h> define ...

C语言题目,求大神解答
PS p2[5] = { {1, "a", "m"}, {3, "c", "m"}, {5, "e", "m"}, {6, "f", "f"}, {7, "g", "m"} };\/\/执行删除操作 int num = delete(p1, 10, p2, 5);\/\/输出p1数组中的所有元素 printf("p1数组中的元素:\\n");int i;for (i = 0; i < num; i++...

C语言 计算机题 求大神解答~
1、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是“a>=10||a<=0”。(D选项)解析:“≥”用“>=”表示,“或”用“||”表示。2、判断char型变量c是否为大写字母的表达式是“(c>='A')&&(c<='Z')”。(C选项)解析:大写字母是A~Z,加上单引号,可以直接用来判断是否符合要求...

c语言问题,求大神解答
char a=97 a为字符型,对应的是ASCII码表中十进制数97对应的字符,是a c对应的字符是A,对应的ASCII码表中十进制数是65 输出语句的意思是计算字符a和字符A在ASCII码表中对应十进制数的差并按规定格式输出。97-65=32 结果输出a-A=32 选C ...

求大神C语言编程,题目要求在下面
下面是我的代码,三个函数分别对应三个问题。include<stdio.h> define MLEN 20\/\/字符串最大长度 char fun1();void fun2();void fun3();int main(void){ fun1();fun2();fun3();return 0;} char fun1(){ int nI;float nF;char c;char str[MLEN];printf("请分别输入1个整数,1个...

求大神解答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是一个未初始化局部变量,...

喀什市18089868907: 三道C语言题目,求大神. -
频刘兰宇: 第一题#include<stdio.h>int main() {int a[7][7];int n,i,j,sum=0;printf("Input n:");scanf("%d",&n);puts("Input array:");for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);if(i==n-1||j==n-1||(i+j==n-1))continue;sum+=a[i][j]; }}printf...

喀什市18089868907: 急求C语言高手解答三个题目!!!详细说明最好!!! -
频刘兰宇: 1. malloc在没有足够空间申请的时候会返回NULL,也就是0 2. 因为&是取址运算符,注意,是运算.最后的q-p实际上等于q地址-p地址的偏移量,系统很智能的给出了偏移5个int 3. realloc才可以在运行时改变空间的大小(数组的大小)

喀什市18089868907: 急急急!!!这里有三道c语言试题,急求答案,请哪位高手帮我解答.奖分多多哦!!! -
频刘兰宇: 1void main(){float zhu;scanf("%f",&zhu);zhu=(float)(int)(zhu*10000)/10000;printf("%8.4f",zhu);}2void main(){int zhu[3][5]={0};int i,j;for (i=0;i<3;i++)for (j=0;j<4;j++)scanf("%d",&zhu[i][j]);printf("the original matrix is \n");for (i=0;i<3;i++){for (j=0;j<...

喀什市18089868907: 关于C语言的三道题,我刚接触C语言,有三道题求解,用最简单的算法,急急急急啊!!!!!!!!!!! -
频刘兰宇: 1#include <stdio.h> void main(int argc,char *argv[]) { int i; int a,b,c,d; for (i=1000;i<9999;i++) { a=i%10; b=i/10; c=b/10; d=c/10;b=b%10; c=c%10; d=d%10; if ((a*1000+b*100+c*10+d)==(4*i)) { printf("%d\n",i); } } }2#include <stdio.h> void main(int ...

喀什市18089868907: 急!!!C语言编程题求大神帮忙解答 -
频刘兰宇: 1 2 3 4 5 6 7 8 9 10 11#include <stdio.h> voidmain(){ inti,m,n,num=0,a[1000]; scanf("%d%d",&m,&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); if(m>a[i]) num++; } printf("诸葛亮最多可以战胜%d个对手",num); }

喀什市18089868907: 3个C语言程序急求大神编写,再次先谢过了、1、从键盘上输入圆的半径r,求圆的直径、周长、面积. 2、一物体在真空中以初速度为0作自由落体运动,试... -
频刘兰宇:[答案] #include int main() { double r; printf("请输入半径"); scanf("%lf",&r); printf("直径为%lf,周长为%lf,面积为%lf",2*r,3.14*2*r,3.14*r*r); while(1); return 0; } #include int main() { double t; printf("请输入时间"); scanf("%lf",&t); printf("...

喀什市18089868907: C语言的题目?求大神解答了~~~~~~~~~~~~~~题目如下 -
频刘兰宇: 楼主题目没问题,当输入2 4时,确实和为15.希望楼主采纳.#include<stdio.h>#define MAX 210 int Int[MAX]={2}; int is_prime(int x) { for (int i= 2; i*i <= x; i++) if (x % i == 0) return -1; return x; } int main() { int m,n; scanf("%d %d",&m,&n); int ...

喀什市18089868907: 关于C语言的题目,求C高手解答 -
频刘兰宇: #include "stdio.h" void main() { int i,sum=0; for(i=1;i<=100;i++) sum+=i;printf("1+2+3+4+...+100=%d",sum); } 这些很基础,忘lz努力.

喀什市18089868907: C语言题目,求大神解答~!!! -
频刘兰宇: 这是一个字符串检索问题://在S字符串中检索子串T(模式匹配) int Index(char *S, char *T){ int i,j,lenS,lenT; for(lenS=0;S[lenS];++lenS); for(lenT=0;T[lenT];++lenT); i=1;j=1; while(i if(S[i-1]==T[j-1]){ ++i;++j; }//匹配,一起后移 else {i=i-j+2;j=1;if(i>...

喀什市18089868907: 关于C语言的几道题,求解答,高分 -
频刘兰宇: 1.题意不明.是整数a的十进制形式循环左移,还是整数a在内存中的二进制形式循环左移? 如果是十进制形式左移,那么当a中某位为0时,循环左移会导致数的位数变小.极端情况下,甚至会出现1000左移变成1,然后就始终是1的这种情况. ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网