본문 바로가기

Golang

프로젝트별 코드

- 잘못된 신상정보


package main


import "fmt"


const (

name = "kim"

RRN = "800101-1000000"

job

)


func main() {

fmt.Print(name + " ")

fmt.Print(RRN + " ")

fmt.Println(job)


- 간단한 덧셈과 곱셈


package main


import "fmt"


func main() {

var num1, num2, num3 int

fmt.Println("입력")

fmt.Scanln(&num1, &num2, &num3)

result := num1*num2+num3

fmt.Printf("%d x %d + %d = %d\n", num1, num2, num3, result)


- 몫과 나머지


package main


import "fmt"


func main() {

var num1, num2 int

// fmt.Println("입력")

fmt.Scanln(&num1, &num2)

result1 := num1/num2 //몫

result2 := num1%num2 //나머지

// fmt.Println("출력")

fmt.Printf( "몫 : %d, 나머지 : %d", result1, result2)

}


- 강제 형 변환


package main


import "fmt"


func main() {

var num1, num2, num3 int

fmt.Scanln(&num1, &num2, &num3)

var f float32 = float32(num1)

var u uint = uint(num2)

var i int64 = int64(num3)

fmt.Printf("%T, %f\n", f, f)

fmt.Printf("%T, %d\n", u, u)

fmt.Printf("%T, %d\n", i, i)

}


- 정돈된 표

package main


import "fmt"


func main() {

fmt.Printf("%-8s%-14s%5s\n", "이름", "전공학과", "학년")

fmt.Printf("%-8s%-14s%5s\n", "유현수", "전자공학", "3")

fmt.Printf("%-8s%-14s%5s\n", "김윤욱", "컴퓨터공학", "4")

fmt.Printf("%-8s%-14s%5s\n", "김나영", "미술교육학", "2")

}



- 신상정보 입력과 출력


package main


import "fmt"


func main() {

var RRNf, RRNt int

var name string

var height float32

fmt.Scanf("%d-%d", &RRNf, &RRNt)

fmt.Scanf("%s", &name)

fmt.Scanf("%f", &height)

fmt.Printf("주민등록번호 앞자리는 %d, 뒷자리는 %d, 이름은 %s입니다.\n그리고 키는 %0.2f입니다.", RRNf, RRNt, name, height)

}


- 구구단


package main


import "fmt"


func main() {

var dan int

fmt.Scanln(&dan)

for i := 1 ; i < 10 ; i++ {

fmt.Printf("%d X %d = %d\n", dan, i, dan*i)

}

}


- 빛나는 이등변 삼각형


package main


import "fmt"


func main() {

var i, j, n int

fmt.Scanln(&n)

for i = 0 ; i < n ; i++ {

for j = 0 ; j < i ; j++ {

fmt.Print("o ")

}

fmt.Print("* ")

fmt.Println()

}


- 7과 9의 배수


package main


import "fmt"


func main() {

for i := 1 ; i < 100 ; i++ {

if i == 7 {

fmt.Printf("%d ", i)

} else if i == 9 {

fmt.Printf("%d ", i)

} else if i%7 == 0 {

fmt.Printf("%d ", i)

} else if i%9 == 0 {

fmt.Printf("%d ", i)

}

}



- 두수의 차


package main


import "fmt"


func main() {

var num1, num2, result int

fmt.Scanln(&num1, &num2)

if num1 < num2 {

result = num2 - num1

} else {

result = num1 - num2

}

fmt.Print(result)

}


- 안좋은 계산기


package main


import "fmt"


func main() {

var sel int

var num1, num2, result float64

fmt.Scan(&sel)

fmt.Scanln(&num1, &num2)

switch sel {

case 1 :

result = num1 + num2

case 2 :

result = num1 - num2

case 3 :

result = num1 * num2

case 4 :

result = num1 / num2

default :

fmt.Print("잘못된입력입니다.")

return

}

fmt.Printf("%.1f\n", result)

}



- 구구단 2


package main


import "fmt"


func main() {

for i := 2 ; i < 10 ; i++ {

if i%2 == 0{

continue

}

for j := 1 ; j < 10 ; j++ {

if i == j {

fmt.Printf("%d x %d = %d\n", i, j, i*j)

break

}

fmt.Printf("%d x %d = %d\n", i, j, i*j)

}

fmt.Println()

}


두수를 더하면 99


package main


import "fmt"


func main() {

var result int

for i := 0 ; i < 10 ; i++ {

for j := 0 ; j < 9  ; j++ {

result = (i*10+j)+(j*10+i)

if i == j {

continue

}

if i+j == 9 {

fmt.Printf("%d%d + %d%d = %d\n", i, j, j, i, result)

}

}

}


역행렬


package main


import "fmt"


func main() {

var d = [2][2] int {

{7, 3},

{5, 2},

}

var d2 = [2][2]int{

}

sol := (d[0][0]*d[1][1])-(d[0][1]*d[1][0]) //판별식

if sol == 0 {

fmt.Println("false")

} else if sol != 0 {

fmt.Println("true")

d2[0][0] = d[1][1]*1/sol

d2[0][1] = d[0][1]*1/sol*-1

d2[1][0] = d[1][0]*1/sol*-1

d2[1][1] = d[0][0]*1/sol

fmt.Println(d2[0][0], d2[0][1])

fmt.Println(d2[1][0], d2[1][1])

}

}


가장 긴 이름


package main


import "fmt"


func main() {

names := make([]string, 0)

var name string

for {

fmt.Scan(&name)

  if name == "1" {

break

} else {

names = append(names, name)

}

}


var result string = names[0]

for i := 0 ; i < len(names) ; i++ {

if len(result) < len(names[i]){

result = names[i]

}

}

fmt.Println(result, len(result)) 

}



중간고사 평균 점수


package main


import "fmt"


func main() {

var dataMap = make(map[string]int)

var avg float32

var subject string

var score int

var sum int

for {

fmt.Scanln(&subject, &score)

if subject == "0" {

break

}

dataMap[subject] = score

}

for i, _ := range dataMap {

sum += dataMap[i]

}

avg = float32(sum)/float32(len(dataMap))

for i, j := range dataMap {

fmt.Printf("%s %d\n", i, j)

}

fmt.Printf("%.2f\n", avg)


'Golang' 카테고리의 다른 글

고루틴-채널  (0) 2019.02.13