PTA 7-238 整数转换为字符串
分数 10
作者 usx程序设计类课程组
单位 绍兴文理学院
将一个整数n转换成字符串。例如;输入483,应得到字符串"483"。其中,要求用一个递归函数实现把一个正整数转换为字符串。
输入格式:
首先输入测试组数T,然后输入T组测试数据。每组测试数据输入一个整数n(-231≤n≤231-1)。
输出格式:
对于每组测试,输出转换后的字符串。
输入样例:
1
1234
输出样例:
1234
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
char ch[MAX]; //储存各位数数组
int p = 0; //数组下标
void character(int inte){ //将各位数字转换成字符串
if(inte == 0){
return;
}else if(inte > 0){
character(inte / 10); //递归
ch[p++] = inte % 10 + '0';
}
}
int main(){
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i++){ //循环测试组数
int integer;
p = 0;
scanf("%d", &integer);
if(integer == 0){ //当输入整数为0时
printf("0\n");
continue;
}
if(integer < 0){ //当输入整数为负数时
ch[0] = '-'; //数组第一位储存负号
p++;
integer = -integer; //变为正数
}
character(integer);
ch[p] = '\0'; //字符串结束
puts(ch); //输出字符串
}
return 0;
}
解题思路:
step1:考虑特殊情况
step2:调用函,用递归方法将整数拆分后转换成字符串
step3:输出字符串
归属知识点:
数组
递归
全局变量和局部变量
字符