描述: 描述:
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
知识点: 字符串
题目来源: 内部整理
练习阶段: 初级
运行时间限制: 10Sec
内存限制: 128MByte
输入:
输入一个int整数
输出:
将这个整数以字符串的形式逆序输出
样例输入: 1516000
样例输出: 0006151
——*——
程序1:得分75(满分100)
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define maxsize 100
int main()
{
unsigned int num;
int convertnum(int n,char c[]);
cin>>num;
char c[maxsize];
convertnum(num,c);
return 0;
}
int convertnum(int n,char c[])
{
int i=0,j=0;
if(n<0)
return -1;
while(n)
{
c[i]=48+n%10;
n=n/10;
i++;
}
for(j=0;j<i;j++)
{
cout<<c[j];
}
return 0;
}
有一个warning:
自定义函数中
c[i]=48+n%10;
提醒,将整型赋值给char型可能数据丢失。
——*——
程序2:得73分(原因是4个测试有1个失败)
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define maxsize 100
int main()
{
unsigned int num;
int convertnum(int n,int c[]);
cin>>num;
int c[maxsize];
convertnum(num,c);
return 0;
}
int convertnum(int n,int c[])
{
int i=0,j=0;
if(n<0)
return -1;
while(n)
{
c[i]=n%10;
n=n/10;
i++;
}
for(j=0;j<i;j++)
{
cout<<c[j];
}
return 0;
}