给定一个整数N,任务是将其转换为字符数组。
例子:
Input: N = 2020
Output: {2, 0, 2, 0}
Explanation: Here char array arr[] = {2, 0, 2, 0}
Input: N = 12349
Output: {1, 2, 3, 4, 9}
Explanation: Here char array arr[] = {1, 2, 3, 4, 9}
方法:基本方法是递归查找N的所有数字,并将其插入到所需的字符数组中。
- 计算数字中的总位数。
- 在数字中声明一个大小为数字的字符数组。
- 将整数分成数字并将其容纳到字符数组中。
- 在数组的每个元素中添加字符’0′ 的 ASCII 值是 48。
下面是上述方法的实现:
C
// C program to convert integer
// number into character array
#include
#include
// Function to convert integer to
// character array
char* convertIntegerToChar(int N)
{
// Count digits in number N
int m = N;
int digit = 0;
while (m) {
// Increment number of digits
digit++;
// Truncate the last
// digit from the number
m /= 10;
}
// Declare char array for result
char* arr;
// Declare duplicate char array
char arr1[digit];
// Memory allocaton of array
arr = (char*)malloc(digit);
// Separating integer into digits and
// accomodate it to character array
int index = 0;
while (N) {
// Separate last digit from
// the number and add ASCII
// value of character '0' is 48
arr1[++index] = N % 10 + '0';
// Truncate the last
// digit from the number
N /= 10;
}
// Reverse the array for result
int i;
for (i = 0; i < index; i++) {
arr[i] = arr1[index - i];
}
// Char array truncate by null
arr[i] = '\0';
// Return char array
return (char*)arr;
}
// Driver Code
int main()
{
// Given number
int N = 12349;
int len = 5;
// Function call
char* arr = convertIntegerToChar(N);
// Print char array
for (int i = 0; i < len; i++)
printf("%c, ", arr[i]);
return 0;
}
Java
// Java program to convert integer
// number into character array
class GFG{
// Function to convert integer to
// character array
static char[] convertIntegerToChar(int N)
{
// Count digits in number N
int m = N;
int digit = 0;
while (m > 0)
{
// Increment number of digits
digit++;
// Truncate the last
// digit from the number
m /= 10;
}
// Declare char array for result
char[] arr;
// Declare duplicate char array
char []arr1 = new char[digit + 1];
// Memory allocaton of array
arr = new char[digit];
// Separating integer into digits and
// accomodate it to character array
int index = 0;
while (N > 0)
{
// Separate last digit from
// the number and add ASCII
// value of character '0' is 48
arr1[++index] = (char)(N % 10 + '0');
// Truncate the last
// digit from the number
N /= 10;
}
// Reverse the array for result
int i;
for(i = 0; i < index; i++)
{
arr[i] = arr1[index - i];
}
// Return char array
return (char[])arr;
}
// Driver Code
public static void main(String[] args)
{
// Given number
int N = 12349;
int len = 5;
// Function call
char[] arr = convertIntegerToChar(N);
// Print char array
for(int i = 0; i < len; i++)
System.out.printf("%c, ", arr[i]);
}
}
// This code is contributed by amal kumar choubey
Python3
# Python3 program to convert integer
# number into character array
# Function to convert integer to
# character array
def convertIntegerToChar(N):
# Count digits in number N
m = N;
digit = 0;
while (m > 0):
# Increment number of digits
digit += 1;
# Truncate the last
# digit from the number
m /= 10;
# Declare char array for result
arr = ['0' for i in range(digit)]
# Declare duplicate char array
arr1 = ['0' for i in range(digit + 1)];
# Separating integer
# into digits and
# accomodate it
# to character array
index = 0;
while (N > 0):
index += 1;
# Separate last digit from
# the number and add ASCII
# value of character '0' is 48
arr1[index] = chr(int(N % 10 + 48));
# Truncate the last
# digit from the number
N = N // 10;
# Reverse the array for result
for i in range(0, index):
arr[i] = arr1[index - i];
# Return char array
return arr;
# Driver Code
if __name__ == '__main__':
# Given number
N = 12349;
len = 5;
# Function call
arr = convertIntegerToChar(N);
# Print array
for i in range(0, len, 1):
print(arr[i], end = " ");
# This code is contributed by gauravrajput1
C#
// C# program to convert integer
// number into character array
using System;
class GFG{
// Function to convert integer to
// character array
static char[] convertintToChar(int N)
{
// Count digits in number N
int m = N;
int digit = 0;
while (m > 0)
{
// Increment number of digits
digit++;
// Truncate the last
// digit from the number
m /= 10;
}
// Declare char array for result
char[] arr;
// Declare duplicate char array
char []arr1 = new char[digit + 1];
// Memory allocaton of array
arr = new char[digit];
// Separating integer into digits and
// accomodate it to character array
int index = 0;
while (N > 0)
{
// Separate last digit from
// the number and add ASCII
// value of character '0' is 48
arr1[++index] = (char)(N % 10 + '0');
// Truncate the last
// digit from the number
N /= 10;
}
// Reverse the array for result
int i;
for(i = 0; i < index; i++)
{
arr[i] = arr1[index - i];
}
// Return char array
return (char[])arr;
}
// Driver Code
public static void Main(String[] args)
{
// Given number
int N = 12349;
int len = 5;
// Function call
char[] arr = convertintToChar(N);
// Print char array
for(int i = 0; i < len; i++)
Console.Write("{0}, ", arr[i]);
}
}
// This code is contributed by amal kumar choubey
输出:
1, 2, 3, 4, 9,
如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live