三九宝宝网宝宝教育教学论文

京东商城的笔试题:用java语言打印出a b c d的所有可能组合求指

02月23日 编辑 39baobao.com

[怎样用C语言的循环语句打印出下列的图形]用C语言的循环语句实现: #include<stdio.h> int main() { int i,j; for(i=1;i<=4;i++) {for(j=1;j<=i;j++) putchar('*'); putchar('n'); } return 0; }...+阅读

abcd都要用上?长度为4?

如果是这样,那代码如下,其中心思想就是递归

import java.util.ArrayList;

import java.util.List;

public class Permutation {

private char initial;

private char last;

List<Character> chars=new ArrayList<Character>();

public static void main(String[] args) {

new Permutation('a','d').start();

}

public Permutation(char initial,char last) {

this.initial=initial;

this.last=last;

for (char c = this.initial; c <= this.last; c++) {

chars.add(c);

}

}

public void start(){

next(chars,new ArrayList<Character>());

}

private void next(List<Character> unused,List<Character> used){

if(unused.isEmpty()){

System.out.println(used);

}else{

for(int i=0;i<unused.size();i++){

List<Character> cur=new ArrayList<Character>(unused);

List<Character> curUsed=new ArrayList<Character>(used);

curUsed.add(cur.remove(i));

next(cur,curUsed);

}

}

}

}

如果你想长度不固定,就是会出现abc,dc,c这样的

只需修改next函数

private void next(List<Character> unused,List<Character> used){

if(!unused.isEmpty()){

for(int i=0;i<unused.size();i++){

List<Character> cur=new ArrayList<Character>(unused);

List<Character> curUsed=new ArrayList<Character>(used);

curUsed.add(cur.remove(i));

System.out.println(curUsed);

next(cur,curUsed);

}

}

}

没有仔细验证,有什么问题可以交流 ,格式我没有改,你可以自己做个输出函数去遍历输出List即可

以下为关联文档:

用java语言绘制三角函数图像package com.graphics; import java.awt.Color; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class Test extends JFrame {...

c语言里用递归实现链表反向打印打开NewContactList工程文件, 相关的修改的程序文件如下(未修改的没有post 上去)。 ContactList.h文件如下: /* *ContactList.h * * created on Jul 6, 2014 * Author: *** * *...

求C语言的笔试题和编程题!谢谢 !一份曾经的考卷+答案~~//后面的编程题是以前做过的实验~~《程序设计基础-C》试卷 一、单项选择题1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、‘...

C语言怎样打印出当前的时间可以使用头文件time.h 下面我举一个例子: /*不能直接复制!*/ #include <stdio.h> #include <time.h> int main() { time_t t; //time_t是一种类型,定义time_t类型的t time(&t);...

c语言提供一个打印出当前的系统时间以20110110的形式只需要#include <stdio.h> #include <windows.h> typedef struct date { int da_year;//年 int da_day;//日 int da_mon;// 月 }; void gettime(struct date *dateblk) { SYSTEMTIME...

用C语言编程打印杨辉三角int n,a[100][100]={0},i,j; scanf("%d",&n); for(i=0;i<n;i++) {for(j=0;j<=i;j++) {if(j==0||i==0) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; if(a[i][j]) printf("%...

用c语言打印杨辉三角#include<stdio.h> int main() { int zhu[10][10]; int x,y; for(x=0;x<10;x++) { for(y=0;y<10;y++) zhu[x][y]=0; zhu[x][0]=1; } for(x=0;x<10;j++) { for(y=0;y<10;y++)...

用java语言绘制正弦曲线很简单,程序写给你,给分: --------------------------------------------- import java.awt.*; import javax.swing.JFrame; import java.util.Random; import java.text.Decim...

C语言用递归函数打印 a a b a b c a b c d a b c d e a b c d e f a b c d e#include #include void print(int num) { int i; if (num == 1) { printf("a "); return; } print(num - 1); for (i = 0; i printf("%c ", 'a' + i); } void main() { print(6...

推荐阅读
图文推荐