基于visual Studio2013解决C语言竞赛题之0418位数操作

时间:2023-03-09 13:39:01
基于visual Studio2013解决C语言竞赛题之0418位数操作



基于visual Studio2013解决C语言竞赛题之0418位数操作

题目

基于visual Studio2013解决C语言竞赛题之0418位数操作

解决代码及点评



/************************************************************************/
/*
18. 给出一个不多于4位的正整数,要求:① 求出它是几位数
② 分别打印出每一位数字 ③ 按逆序打印出各位数字。
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
int GetWS18(int num) // 打印位数函数
{
int count=0;
while(num) // 当num还大于0时,num除与10,这样当num是0时,循环次数就是它的位数
{
count++; // 只要在循环体里累加就可以了
num/=10;
}
return count;
}
void RprintNum(int num)
{
while(num) // 反向打印,当num大于0时,打印最后一位,打印完最后一位后,除10去除最后一位
{
printf("%d",num%10);
num=num/10;
}
}
void printNum(int num) // 正向打印
{ int temp=1;
while(num/temp>=10) // 首先求出最高位对应的最小整数
{
temp*=10;
}
while(temp>=1) // 然后一位一位的打印
{
printf("%d ",num/temp%10);
temp/=10; // 打印一位把最高位对应额整数除与10
}
}
void main()
{
int num;
printf("please input num");
scanf_s("%d",&num); // 获取输入
printf("\n");
printf("%d",GetWS18(num )); // 打印位数
printf("\n"); printNum(num); // 打印每位数
printf("\n");
RprintNum(num); // 反向打印 system("pause");
}

代码下载及其运行

代码下载链接:

http://download.csdn.net/detail/yincheng01/6641001

解压密码为c.itcast.cn

下载解压后用VS2013打开工程文件

点击 “本地Windows调试器” 执行

基于visual Studio2013解决C语言竞赛题之0418位数操作

程序运行结果

基于visual Studio2013解决C语言竞赛题之0418位数操作