一道C语言题目,看图~大神帮忙解答下吧!急急急急急!!在线等

作者&投稿:屠侧 (若有异议请与网页底部的电邮联系)
C语言的一道题,我自己写了个代码,但是测试时有错,改不来。希望大神帮帮忙,在线等,急急急!!!~

for里面定义变量在c89标准中是不行的,在c99中才可以

你可以在把int i放到外面来即可,就是不要在for()中的括号里面

#include#define N 10void fun(int *a,int n) { int i,j,k; for ( i=0;ia[j] ) { k=a[i];a[i]=a[j]=a[j]=k; }}void main() { int a[N]={9,0,2,4,6,1,5,8,7,3},i; fun(a,N); for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("
");}

答案是D
在C语言中数组赋值可以如A,那样,【】里面定义了长度5{}中有最大不超过5个值,则赋值成功
B在5个数值之内所以也是正确的
答案C,就是另外中赋值方法,在【】中不定义长度,因此数组a[]的实际长度取决于{}中的值的数量,也就是说在C答案中有5个0作为数值,因此C答案中的a[]的实际长度值也为5
而在数组赋值是是不可以加入计算的,因此D答案错误
如果要想D答案正确,可将D答案改写为int a[5]={'0*5'},用单引号将算术式括起来,将其作为字串处理,这样就可以成功赋值了

目测是D不正确
A中,定义长度是5,初始化5个值,完全正确;
B中,定义长度是5,初始化3个值,少的两个,系统会自动赋值为0;
C中,未定义长度,初始化5个值,那么系统默认为数组长度为5;
D中,在C89的标准中,初始化int数组时是不能使用表达式的,任何表达式都不可以。

另外:::
但在C99的标准中,可以使用常量表达式!
所以也不是绝对错误的,如果是做题就选D,因为abc是绝对正确的;
如果自己敲代码的时候,这么做不一定错,到时候注意一下就行!!

选D,但不是绝对的错。有些编译器下可以通过编译

明显是D不对嘛!!多看看书 不就行了1!!!!

这个应该是选D

ABC都可以,所以选择D


大学c语言看图写代码
我学的C++,这是初级的if(有什么不懂的可以问我啊)int x=0,y=0;cin>>x;if(x>10)y=100-x;else if(x==10)y=10;else y=100+10;cout<<y;return 0;int x=0,y=0;cin>>x;if(x>5)y=60-x;else if(x==5)y=6;else y=40+x;cout<<y;return 0;int x=0,y=0;cin>>x...

C语言程序基础问题,请看图,为什么后面加几个0?
float默认小数输出6位,不足补0。你不想要那么多就在格式了指定小数位数,比如:printf("%12.2f",123.54);这样输出后面就没有0了,这里12表示整个数字占用字节宽度,不足会在数字左边补空格。.2表示小数位数2位,不足补0。

计算机c语言问题,若有定义int m=7;float=2.5具体看图
是求余运算,\/是整除运算(如果被除数和除数都是整数)。7%21=7 7%2=1 1\/4=0

C语言 问题看图
include <stdio.h> void main(){ int x,a,b,c;printf("input x:\\n");scanf("%d",&x);a=x%10;b=x\/10%10;c=x\/100;if(x == a*a*a + b*b*b + c*c*c)printf("%d is\\n",x);else printf("%d isnot\\n",x);} 应该是这个,望采纳 ...

C语言数组看图一个数
根据题意可得代码如下:include<stdio.h>int main(){ int A[20] = {2, 3, 6, 8, 9, 12, 14, 19}, len = 8, i; for (i = len; i > 0; i--){ if (A[i-1] > 10){ A[i] = A[i-1]; } else { A[i] = 10; break; } } ...

C语言 急急急 看图求解
include<stdio.h>int main(){int n,count_1=0,count_2=0,sum=0,i=0,a[1000],length;\/\/count_1在岗,count_2退休,sum福利金总和 while(1){printf("请输入年龄,输入0结束:\\n");scanf("%d",&n);if(n==0)break;a[i++]=n;}length=i;for(i=0;i<length;i++){if(a[i]<...

C语言程序题:输出结果是16.00,请填空,看图
x=(z-1\/2-a\/2)y\/b=(16-0.5-4.5)*1.1\/2=6.05 空格5就填 6.05

c语言的,看图强制类型转换
错误1:既然定义F为double型,读取时应用%lf,而不是%f,属于格式错误;错误2:5、4都是整型,计算结果为整型,5\/4=1,得不到真正的计算结果。错误3:由于错误2,因此,不是前面添加一个(float)就能计算正确的,而且定义的变量都是double型,前面强制转换为float型也不对;错误4:公式错误,不是5...

C语言 求过程 谢谢~看图
你要的完整过程:include<stdio.h>int main(){ int i,x,cont=1; for(i=1,x=1;i<=10;i++) { if(x>=10){printf(" 第%d次循环执行break跳出,i=%d,x=%d\\n",cont,i,x);cont++; break;} if(x%2==1){x+=5; printf(" 第%d次循环 执行x+=5,i=%d,x=%...

C语言编程题,题目看图?
代码文本:include "stdio.h"int main(int argc,char *argv[]){ int n,x,y;printf("Enter n(int 0<n<10000)...\\nn=");if(scanf("%d",&n)!=1 || n<1 || n>9999){ printf("Input error, exit...\\n");return 0;} scanf("%d%d",&x,&y);if(n&1)printf("%d:\\t%d-...

福鼎市19860141331: 关于C语言的一个题目,求解释,如下图,谢谢 -
谭于小儿: void main(){ char chrstr[64]; gets(chrstr);//从终端输入一个字符串,长度在63个字符以内; d = strlen(chrstr);//获取字符串的长度...

福鼎市19860141331: C语言编程题,如图所示..求大神解答,回答正确的我会发红包奖励 -
谭于小儿: #include<stdio.h> int main() {int n,i,t,a[110];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]%2)printf("%d\n",a[i]);else printf("%d\n",a[i]-1);return 0; }

福鼎市19860141331: 一道C语言题目,请高手给详细解答: -
谭于小儿: 1、从main()主函数开始从上往下执行函数2、执行到调用函数fun()后,结果是a=3,b=4,即px=3,py=43、由于是px、py是指针,px和 x指向同一个地址, py 和y也是一样的4、所以输出...

福鼎市19860141331: 一道c语言的题目.急求大神解答. -
谭于小儿: 这是由于原来的程序采用了递归,而且递归程序中的局部变量有较大的数组.当递归层数太多时,就会造成系统栈溢出,而导致程序崩溃.以下的程序改为非递归的,就不会再有此现象:#include<stdio.h> void f(int n,int a[],int b[]) {int j,i,c[20000]...

福鼎市19860141331: 一道c语言的题 求大神帮忙 -
谭于小儿: #include<stdio.h> void main() { char cbegin; //起始字符 int icount,i; //数量 printf("please input a char and a number: "); scanf("%c %d",&cbegin,&icount);//输入 printf("\nresult: "); for(i=0;i<icount;i++)printf("%c",cbegin+i); //输出printf("\n"); }

福鼎市19860141331: 求大神帮解一道C语言程序题,谢谢 -
谭于小儿: #include int main(){ int x; scanf("%d",&x); if(x>25){ printf("000000\n"); return 0; } int fac=1; for(int i=1;ifac=(fac*i)%1000000; } printf("%06d\n",fac); return 0; }

福鼎市19860141331: 急求一道c语言编程题的答案 C语言高手帮忙看下
谭于小儿: #include<stdio.h> main() { int solve(int n); int t; scanf("%d",&t); if(t<=1) printf("0"); else printf("%d",solve(t)); printf("\n"); } int solve(int n) { int a,b,c; a=0; b=1; do { c=a+b; a=b; b=c; if(c>=n) break; }while(1); return a; }

福鼎市19860141331: C语言打印图形一道题,大神们分分钟搞定 -
谭于小儿: 又是我,上个问题都结了我还以为你写好了.你先看看程序,有问题再说. #include int main() { int row,line; int m; char ch; char charin; scanf("%d",&m); getchar(); charin = getchar(); for (line = 0; line < m; ++line) { for (row = 0; row <=2 * m - 2 + ...

福鼎市19860141331: C语言题,求大神帮忙啊C语言作业要求 1.从键盘输入3个字符串,要求找出其中最大者 . 2.写一程序,判断一字符串是否是回文,若是输出YES,否则输出... -
谭于小儿:[答案] 具体代码如下: #include int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d\n",(a=a>b?a:b)> c?a:c); } #include #include int main() { char s[50]; char *p,*q; p = s; gets(s); q = &s[strlen(s)-1]; while(p++ = 0; i--) { if('a'

福鼎市19860141331: 求高手帮忙解一道C语言编程题! -
谭于小儿: 用一个数组记录输入的K个数 用一个数组a[3] 记录1,5,10出现在次数 最后输出就OK了

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