问题 问答题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int N[4])的功能是用4个数字,组成互不相同且无重复数字的3位数,并将满足所有条件的数字输出到屏幕,并且每输出一个3位数就换一行。
程序分析:可填在百位、十位、个位的数字都是1、2、3、0。组成所有的排列后再去掉不满足条件的排列。如果判定第一个数字是0,则也去掉。
试题程序:
#include<iostream.h>
void fun(int N[4])


int main()
int N[4]=1,2,3,0;
fun(N);
return 0;

答案

参考答案:int i,j,k;
for(i=0;i<4;i++) //百位循环
for(j=0;j<4;j++) //十位循环
for(k=0;k<4;k++) //个位循环
{
if(i!=j&&j!=k&&k!=i&&N[i]!=0) //当三位数不同,并且百位不为0
{
cout<<N[i]<<N[j]<<N[k]<<end1; //输出这三位数组成的数字
}
}

解析: 本题利用3层循环,对3位数字是否相同进行判断。如果3位数不同,并且百位不为0,那么依次输出这3位数,即由3位数组成的数字。

填空题
选择题