小受追小攻 虐文he:C编程问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 07:22:49
给一个不多于5位的正整数,要求:
1.求出它是几位数;
2.分别输出每一位数字;
3.按逆序输出各位数字,例如原数为321,应输出123

用C#比较简单点:

using System;

namespace hx24
{

class Class1
{

static void Main(string[] args)
{
string test;
test=System.Console.ReadLine();
System.Console.WriteLine("输入的是 {0} 位数",test.Length);
System.Console.Write("逆向输出结果为:");
for (int i=test.Length-1;i>=0;i--)
{
System.Console.Write(test[i]);

}
System.Console.WriteLine();
}
}
}

main()
{
int num,i,j=0;
int a[5];
do{
scanf("%d",&num);
}
while(num>=100000||num<0);
do
{
a[j]=num%10;
j++;
num=num/10;
}
while(num!=0);
printf("count: %d\n",j);
for(i=0;i<j;i++)
{printf("%d",a[i]);
}
}

void get_answer(int number)
{
int entry[5];
int i;
int count=0;//统计几位数
int new_number=0;
for(i=0;i<5;i++)
{
entry[5-i]=number%10;
number=number/10;
}
/***********************************************/
for(i=0;i<5;i++)
{
if(entry[i]!=0)
break;
}
count=5-i;
printf(count,%d);
/*************************************************/
for(;i<5;i++)
{
printf(entry[i],%d);
}
/*************************************************/
for(i=5-count;i<5;i++)
{
new_number=new_number*10+entry[i];
}
printf(new_number,%d);
}
//你自己再优化一下

简单的方法是你利用函数itoa,或CString类的Format函数将数字转化为字符串,这样处理起来就简单多了。