C语言:下列程序运行时的输出结果是??? 我不太懂,理解不过来。还望有高手详解,谢谢

#include <stdio.h>
#include <conio.h>
main ()
{ int b[10]={1,2,2,3,4,3,4,5,1,5}, i, j=0;
for(i=0;i<10;i++)
if(b[i]%2==0)
b[j++]=b[i];
for(i=0;i<j;i++)
printf("%3d",b[i]);
printf("\n");
getch();
}

#include <stdio.h>
#include <conio.h>
main ()
{
int b[10]={1,2,2,3,4,3,4,5,1,5}, i, j=0; //定义一个b[]数组并赋值
for(i=0;i<10;i++)
if(b[i]%2==0) //判断b是否为偶数 %是求余运算 就是求余数 余数=0就为偶数
b[j++]=b[i]; //将偶数赋值 从b[0]开始
for(i=0;i<j;i++)
printf("%3d",b[i]); //输出求得的偶数,每个值3个字节
printf("\n");
getch();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-17
程序的功能就是把一个数组中的偶数全部取出并输出。
if(b[i]%2==0)
b[j++]=b[i];
如果b[i]是偶数,就把这个偶数存放到b[j],并让j加加,想在b[j+1]的地方存下一个偶数。
第2个回答  2011-01-18
2 2 4 4
第一个for循环找到数组里的偶数并从头赋值给b[],
第二个for循环打出重新赋值的几个值,每个值3个字节,右对齐。
第3个回答  2011-01-27
#include <stdio.h>
#include <conio.h>
main ()
{ int b[10]={1,2,2,3,4,3,4,5,1,5}, i, j=0;
for(i=0;i<10;i++) //这儿是控制循环次数10次//
if(b[i]%2==0) //这儿是求数组b中能整出2的数,就是求偶数(C中%是求余的意思)//
b[j++]=b[i]; //如果是偶数变用数组b把这数储存下来,这儿你可能就问了,b数组不已 经有10个数了么,这儿,你看i的数字一定大于等于j,也是说j记录的数字不会是重复的。哎!说不清,你看下就懂了。//
for(i=0;i<j;i++) //这一步是重点,10个数字有可能不全是偶数。但b数组只有j这一部风记录了所需要的数,例如前3个数是重新被储存了的数字,后边没变,所以以j为控制条件输出//
printf("%3d",b[i]); //这儿是输出,%3d,是说做对齐长度为3,数组长度不足3的用空格补齐。(如果是%-3d,那便是右对齐)
printf("\n");
getch();
}

请教一个C语言问题。若输入3个整数3,2,1,则以下程序输出的结果是?
在主函数中,第一次调用sub()函数,传入的是i=1,在函数里面t先等于aa[0],即输入的2,然后做+=运算,t变成5,n++成为2。在if判断中不满足条件,所以uu[2]=5第二次调用sub()函数可以类推,不同点在于这次满足if条件。最后应该输出的是2 1 6 1吧,没有太仔细算,你可以用vc运行一下看看啊,我的vc刚好最近出...

我在用C语言编程时,编译后总出现Error:spawning C1.exe的错误,看不懂...
1、在菜单栏的【工具】(Tools)中选择【选项】(Options),在打开的对话框中选择【路径】(Directories);在右边的目录“Show directories for:”下拉表中选择【可执行文件】(Executable files),再看下面有没有cl.exe文件所在的目录,如果不对修改之。2、Executable files其路径至少包含以下7个:D:\/Prog...

C语言的判断题,第三题我看不懂,格式字符%e输出的结果是什么?怎么...
e是科学计数法输出.当输出的时候 实数部分, 默认小数部分为6位. 指数部分默认为3位.即 如果是printf("%e", 12345.0);那么实际会输出 1.234500e+04

编写一个函数,输和一行字符,将此字符串中最长的单词输出
C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 5. C语法限制不太严格,程序设计自由度大 虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。 6. C语言允许直接访问物理地址,可以直接对硬件进行操作 因此既具有高级语...

刚学习C语言,请问怎么在控制台输出人民币 ¥ 的字样?
首先,你可以尝试运行一下下面这个程序,看看结果如何:include<stdio.h> void main(){ int a,b;a = (int)"¥";printf("a=%d\\n",a);printf("a=%s\\n",4198928);b = (int)'$';printf("b=%d\\n",b);printf("b=%c\\n",36);} 然后我们分析一下:在计算机里面,恩,在内存中,...

有关C语言位操作的问题: 1&0=0要怎么理解。。符号&不懂
两个操作数进行位与操作时,先把操作数化成二进制数,然后每一位进行与操作,当对应的位同时为1时,结果为1,否则为0,题目是1&0,两个操作数都很简单,不用化成二进制数都知道答案,因为前面的位都是0,最后的位,一个为1,一个为0,所以结果为0,另举一例:7&5 第一步:化成二进制 00000...

C语言中scanf的%s是什么意思,%c和%s有什么区别。会的进来,谢谢.
你完全可以复制运行一下, 初学不要想太多.你应该学过最简单的 %d 控制符了吧, 就是十进制输入,输出控制符, C语言就规定, 你写%d, 我编译器就会当十进制输入输出. 你写其他的, 不是规定来的, 电脑也看不懂.另外字符串数组, 输入字符串的时候, 不需要取地址符, 因为数组名就是地址, 是...

关于C语言中for循环的问题,我对里面的j不太理解,它在数字为什么是变动的...
因为j是变量啊,肯定是会变动的。而且在for()语句中j执行了j++,因此j随之而增加,增加到j的值比i的值大时,就跳出for()语句的循环了。

C语言里还有汉字吗?真是不懂,
没有汉字啊,这段代码就是c写的点亮LED的程序。中间你看到的中文是注释,都是以\/\/开始的。这些注释是给人看的,为了让别人更好的理解程序。C语言编译器是不编译这些汉字的。这些汉字注释不写都没关系。

c语言作业:输入一个整数,判断该数的每位数字是否都不相同,如果是则输出...
上述程序,当输入18621时,仍然会输出yes,也是不正确的,问题可能出在for循环上,所以建议用while循环,(我试过,for循环这样写也是可以的:for(;temp!=0;temp\/=10){b=temp%10;...}最后的代码修改如下:include "stdio.h"void main(){ int n,a=0,b,temp,flag=1;scanf("%d",&n);while...

相似回答
大家正在搜