当前位置:网站首页>Niuke real problem programming - day20

Niuke real problem programming - day20

2022-07-07 14:53:00 weixin_ forty-five million seven hundred and fifty thousand fou

Compile environment :c++

1、 Print the numeric matrix clockwise

describe :

Given a numerical matrix , Please design an algorithm to print matrix elements clockwise from the upper left corner

Input description :

The first line of input is two numbers , Each represents the number of rows M And number of columns N; Next is M That's ok , Each row N A digital , Represent all the elements of this matrix ; When read M=-1,N=-1 when , Input termination .

Algorithmic thought :

According to the title requirements , To output the digital matrix clockwise . First, store the two-dimensional array , Traverse the two-dimensional array in sequence , From left to right , From top right to bottom right , From bottom right to bottom left , Four small cycles from bottom left to top left . You need to calculate the number of such cycles , Obviously depends on m,n The small one , Find that the number of cycles corresponding to a large cycle is min(m,n)+1 Of 1/2, Integer division will automatically round off the remainder , Just meet the number of times to traverse . Then analyze four small cycles , Pay attention to the boundary between cycles . Output requirements “,” separate , There is no “,”, So you can connect the output to characters , Or with “,”+ Print out in the form of elements . Note that the title has multiple sets of input samples .

The code part implements :

2、 Sentence reversal

describe :

Give a sentence ( Only letters and spaces ), Reverse the word position in the sentence , The words are separated by spaces , There is only one space between the words , There are no spaces around . such as : (1) “hello xiao mi”-> “mi xiao hello”

Algorithmic thought :

Declaration string , Accept the input string in behavioral units . Traversal string , Encountered space count , Record the number of words . Connect each word into a string array . Output all the words in reverse order .

The code part implements :

3、 Hexadecimal conversion

describe :

Given a decimal number M, And the base number to be converted N. Will decimal number M Turn into N Hexadecimal number

Input description :

Enter as one line ,M(32 An integer )、N(2 ≤ N ≤ 16), Space off .

Output description :

Output the converted number for each test instance , One line per output . If N Greater than 9, The corresponding number rules refer to 16 Base number ( such as ,10 use A Express , wait )

Algorithmic thought :

For the input i Decimal system nt, The remainder of each step can be obtained by mathematical rolling division , The output in reverse order is the corresponding number after hexadecimal conversion . When m When it's negative , You need to take a module before you can divide . Because it's bigger than 9 Need to use abcd, The remainder of each division can be used as an index , Include in 0-F Get the corresponding numeric characters from the string of , Connect to the result string . Because you want to output in reverse order , So add one to the last negative number ’-‘ Number , Then print out the result in reverse order .

The code part implements :

原网站

版权声明
本文为[weixin_ forty-five million seven hundred and fifty thousand fou]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130613572568.html