배열 과 문자열 사이 의 유연 한 활용 10 문제

49539 단어 js
함수 repeat (char, n) 를 작성 하여 반복 char 문자열 n 회 실현
예 를 들 어 repeat ("★", 6) 는 "★ ★ ★ ★" 로 돌아간다.
function rev(char,n){
    var arr=""
     for(var i=0;i<n;i++){
      arr=arr.concat(char)
     }//    
     console.log(arr)
   }

/ / 방법 2 분 법, 우 리 는 이미 ★ ★ 가 있 습 니 다. 4 개의 오각별 이 나타 나 면 ★ ★ 를 배로 늘 리 면 됩 니 다.그래서 모든 숫자 를 1, 2, 4, 8, 16, 32 로 구성 하 는 것 이다.2 진법 의 일.2 진법, 0, 1 두 개의 숫자 만 있 고 비트 권 의 개념: 110101 1 개 1 + 0 개 2 + 1 개 4 + 0 개 8 + 1 개 16 = 21
그러면 반대로 우리 10 진법 34 는 2 진법 얼마 입 니까?32 + 2 110010, 예 를 들 면 15 는 얼마 입 니까?8+4+2+1 11111
//   
 function repeat(char,n){
      var arr=""
      for(var i=0;i<n;i++){
        while(true){
        if(n%2==1){
          arr+=char
        }
        if(n==1){
          break
        }
        n=parseInt(n/2)
        char=char+char
      }
      }
      return arr
    }

두 번 째 문 제 는 콘 솔 에서 도형 을 출력 합 니 다.
   		 *
  		 ***
		  *****
		 *******
		*********
 function repeat(char,n){
      var arr=""
      for(var i=0;i<n;i++){
        while(true){
        if(n%2==1){
          arr+=char
        }
        if(n==1){
          break
        }
        n=parseInt(n/2)
        char=char+char
      }
      }
      return arr
    }
    var a,b,str
    for(var i=1;i<6;i++){
      a= repeat("*",i*2-1)
      b=repeat(" ",5-i)
      str= b+a
      console.log(str)
    }

제3 문제
함수 rev (char) 를 작성 하여 문자열 char 를 거꾸로 설정 합 니 다. 예 를 들 어 rev ("spring") 를 "gnirps" 로 되 돌려 줍 니 다.
 function rev(char){
      
      var arr=char.split("")
    arr.reverse()
    arr.join()
    console.log(arr)
    }


function rev(char,n){
    var str=""
    for(var i=char.length-1;i<0;i--){
      str+=char.charAt[i]
      char=str
    }
    return str
  }

네 번 째 문제
콘 솔 출력 'beijing from come i' 문 구 를 프로그램 에 직접 쓰 고 사용자 가 입력 할 필요 가 없습니다.
  var str="i come from beijing"
      console.log(typeof(str))
     var arr= str.split(" ");
      console.log(arr)
      arr1=arr.reverse()
      console.log(arr1)
      str1=arr1.join(" ")

      console.log(str1)

다섯 번 째 문제
함수 rightchange (char, n) 를 작성 하여 문자열 char 순환 오른쪽으로 n 자 리 를 옮 깁 니 다.예 를 들 어 rightchange ("abcdefg", 2) 는 "fgabcde" 로 돌아 갑 니 다.
function rightchange(char,n){
        var str = char;
        var arr=""
        for(var i=0;i<n;i++){
          arr=str.slice(-1)+str.slice(0,str.length-1)
          str=arr;
        }
        console.log(arr)
      }


 function rightchange(char,n){
        var arr = char.split("");
        
        for(var i=0;i<n;i++){
        arr.unshift(arr.pop())
        }
//         console.log(arr)
        return arr.join()
      }



 function rightchange(char,n){
n=n%char.length;
        if(n==0) return char

      var arr= char.substr(-n)+char.substr(0,char.length-n)
       return arr
      }

여섯 번 째 문제 작성 함수 maxr (char) 는 문자열 char 에서 가장 긴 연속 반복 자 모 를 되 돌려 줍 니 다. 예 를 들 어 maxr ("mmmiijjjjkkkkkkssptr") 는 "kkkkkkk" 를 되 돌려 줍 니 다.
var a=0
          var b=0
          var maxLength=0;
          var maxletter=""
          function maxr(char){
            while(a!=char.length-1){
              if(char.charAt(a)==char.charAt(b)){
                b++;
                console.log(b)
              }else{ 
                if(b-a>maxLength){
                  maxLength=b-a;
                  console.log(maxLength)
                  maxletter=char.charAt(a)
                }
                a++;
                // console.log(a)
                b=a+1
              }
            }
            console.log(maxletter)
          }


7 번 문 제 는 10 명의 학생 의 성적 이 배열 에 존재 하 므 로 평균 성적 과 같은 인원 수 를 집계 하 십시오.성적 은 프로그램 에 직접 배열 형식 으로 쓰 여 있 으 며 사용자 가 입력 할 필요 가 없습니다.
var sum=0;
      for(var i=0;i<10;i++){
        var arr=[34,56,23,24,56,67,8,54,54,45]
       sum+=arr[i]
      }
      var average=sum/10
      console.log(average)
      for(var i=0;i<10;i++){
        var arr=[34,56,23,24,56,67,8,54,54,45]
        if(average<=arr[i]){
          console.log(arr[i])
        }
      }

8 번 은 10 명의 학생 들 의 성적 이 배열 에 존재 합 니 다. 최고점, 최저 점 수 를 집계 하고 최고점 과 최저 점 수 를 학생 들 의 하 표를 콘 솔 에 출력 하 십시오.
 for(var i=0;i<10;i++){
        var arr=[34,56,23,24,56,67,8,54,54,45]
        arr.sort(function(a,b){
          if(a>b){
            return 1
          }else if(a<b){
            return -1
          }else if(a==b){
            return 0
          }
        })
      }
      console.log(arr[0],arr[9])

var arr=[34,56,23,24,56,67,8,54,54,45]
          var max=0;
          var min=arr[0];
          var maxIndex=0;
          var minIndex=0;
          for(var i=0;i<arr.length;i++){
            if(arr[i]>max){
              max=arr[i]
              maxIndex=i
            }else if(min>arr[i]){
              min=arr[i]
              minIndex=i
            }
          }
          console.log(max,min)
          console.log(maxIndex,minIndex)

9 번 피타 고 라 스 정리: 직각 삼각형 에서 두 직각 변 의 제곱 합 은 경사 제곱 과 같다.세 변 의 길 이 를 찾 는 것 은 100 보다 크 지 않 고 세 변 의 길 이 는 모두 정수 일 수 있 으 며 콘 솔 에서 출력 할 수 있 습 니 다.
//   
for(var x=1;x<100;x++){
            for(var y=1;y<100;y++){
              for(var z=1;z<100;z++){
                if(x*x+y*y==z*z){
                  console.log(x,y,z)
                }
              }
            }
          }

// A B 

10 번 이 문 제 는 매우 어렵 습 니 다. 건물 에서 뛰 어 내 려 함수 max same (char 1, char 2) 을 만 들 지 마 세 요. 문자열 char 1 과 char 2 의 최대 같은 하위 문자열 을 되 돌려 줍 니 다. 예 를 들 어 max same ("abcdefghijklmn", "mndefghlm") 은 "defgh" 로 돌아 갑 니 다.
	/*  1:     str2        ,       str1    
		        ,        。    js     indexOf()  
		                      。*/
		function check(str1,str2){
			var s;

			var maxlength = 0;	//       
			var maxchar = "";	//      

			//  str2       
			for(var start = 0 ; start <= str2.length ; start++){
				for(var end = start + 1; end <= str2.length; end++){
					//  s           
					s = str2.substring(start,end);
					//   s    str1 
					if(str1.indexOf(s) != -1 && s.length > maxlength){
						//       ,             s   
						maxlength = s.length;
						//              
						maxchar = s;
					}
				}
			}
			return maxchar;
		}
//  2:     4   ,     ,   js  indexOf  。
		//c   ,  indexOf    ,                          
		//c   ,       4   。
	function check(str1,str2){
			//    
			var a = 0;
			var b = 1;
			var c = 0; 
			var d = 1;

			var maxlength = 0;
			var maxchar = "";
			
			while(true){
				if(str1.charAt(a) != str2.charAt(c)){
					//  a、c     ,  c、d  
					c++;
					d++;
				}else{
					//a、c  
					while(true){
						if(str1.charAt(b) == str2.charAt(d)){
							b++;
							d++;
							if(b - a > maxlength){
								maxlength = b - a;
								maxchar = str1.substring(a,b);
							}
						}else{
							c = 0;
							d = 1;
							a++;
							b = a + 1;
							break;
						}
						//  
						if(b >= str1.length || d >= str2.length){
							//  c、d   ,  c、d  ,a  
							break;
						}
					}
				}

				//  ,c、d     ,  cd  
				if(c >= str2.length || d >= str2.length){
					//  c、d   ,  c、d  ,a  
					c = 0;
					d = 1;
					a++;
					b = a + 1;
				}

				//  
				if(a >= str1.length){
					break;
				}
			}

			return maxchar;
		}

11 번 문 제 는 'i love javascript cai guai' 라 는 단어의 첫 번 째 자 모 를 대문자 로 바 꿨 다.
답:
var arr = "i love javascript cai guai".split(" ");
for(var i = 0 ; i < arr.length ; i++){
    arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substr(1);
}
arr.join(" ");

좋은 웹페이지 즐겨찾기