C语言程序100例之C#版-029
C语言程序100例之C#版-029
C程序源代码:
【程序29】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数002班赵鑫提供)
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main( )
{long a,b,c,d,e,x;scanf("%ld",&x);a=x/10000;/*分解出万位*/b=x%10000/1000;/*分解出千位*/c=x%1000/100;/*分解出百位*/d=x%100/10;/*分解出十位*/e=x%10;/*分解出个位*/if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);else if (d!=0) printf("there are 2, %ld %ld\n",e,d);else if (e!=0) printf(" there are 1,%ld\n",e);getch();
}
########################
C#语言程序:
using System;
class C329
{static void Main(){long a,b,c,d,e,x;x=Convert.ToInt64(Console.ReadLine());a=x/10000;b=x%10000/1000;c=x%1000/100;d=x%100/10;e=x%10;if (a!=0) Console.Write("there are 5, {0} {1} {2} {3} {4}\n",e,d,c,b,a);else if (b!=0) Console.Write("there are 4, {0} {1} {2} {3}\n",(int)e,(int)d,(int)c,(int)b);else if (c!=0) Console.Write(" there are 3,{0} {1} {2}\n",(int)e,(int)d,(int)c);else if (d!=0) Console.Write("there are 2, {0} {1}\n",(int)e,(int)d);else if (e!=0) Console.Write(" there are 1,{0}\n",(int)e);}
}
扩展1:平时写应用是,如果纯粹为了实现目标进行分解和倒序,可以考虑用字符串来处理,方便,快捷。但处理过程不是以数值计算的方式来实现的。
using System;
class C329_1
{static void Main(){long x;x=Convert.ToInt64(Console.ReadLine());String y = x.ToString();Console.Write("there are" + x.ToString().Length+",");for (int i = 1; i <= y.Length; i++){Console.Write(y.Substring(y.Length - i, 1));Console.Write(" ");}}
}
扩展2:保持数值计算,(原题目要求为不多余5位的正整数)并且扩展输入数据长度(但不能超过所使用的数值类型的最大长度);
using System;
using System.Collections.Generic;class C329_2
{static void Main(){long x;x=Convert.ToInt64(Console.ReadLine());String y = x.ToString();int z = x.ToString().Length;Console.Write("there are " + z+",");int a = 10;int b = 0;int c = (int)x;List<int> d = new List<int>();for (int i = y.Length-1; i >= 0; i--){b = (int)Math.Pow(a, i);d.Add(c / b);c = (int)x % b;}d.Reverse();for (int i = 0; i < d.Count;i++ ){Console.Write(d[i]);Console.Write(" ");}}
}
C语言程序100例之C#版-029相关推荐
- C语言程序100例之C#版-021
C语言程序100例之C#版-021 C程序源代码: [程序21] 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后 ...
- C语言程序100例之C#版-024
C语言程序100例之C#版-024 C程序源代码: [程序24] 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. 1.程序分析:请抓住分子与 ...
- 经典C语言程序100例之一零零
经典C语言程序100例之一零零 如题 话不多说了,直接上代码 如题 [程序100] 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出 平均成绩,况原 ...
- 经典C语言程序100例之九九
经典C语言程序100例之九九 如题 话不多说了,直接上代码 如题 [程序99] 题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中. 1 ...
- 经典C语言程序100例之九八
经典C语言程序100例之九八 如题 话不多说了,直接上代码 如题 [程序98] 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存. ...
- 经典C语言程序100例之九七
经典C语言程序100例之九七 如题 话不多说了,直接上代码 如题 [程序97] 题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止. 1.程序分析: 话不多说了,直接上代码 2.程序 ...
- 经典C语言程序100例之九六
经典C语言程序100例之九六 如题 话不多说了,直接上代码 如题 [程序96] 题目:计算字符串中子串出现的次数 1.程序分析: 话不多说了,直接上代码 2.程序源代码: #include " ...
- 经典C语言程序100例之九五
经典C语言程序100例之九五 如题 话不多说了,直接上代码 如题 [程序95] 题目:家庭财务管理小程序 1.程序分析: 话不多说了,直接上代码 2.程序源代码: /money management ...
- 经典C语言程序100例之九四
经典C语言程序100例之九四 如题 话不多说了,直接上代码 如题 [程序94] 题目:时间函数,一个猜数游戏,判断一个人反应快慢. 话不多说了,直接上代码 程序源代码: #include " ...
- 经典C语言程序100例之九三
经典C语言程序100例之九三 如题 话不多说了,直接上代码 如题 [程序93] 题目:时间函数 话不多说了,直接上代码 程序源代码: /calculate time/ #include "t ...
最新文章
- python工程师薪资-不止 20K,Python 工程师的薪资再度飙升!
- python 时间减去一天_Python是个什么鬼?为什么985学生都在学它?!
- 【解决方案】OpenCV配置【Win10+VS2017】(本人于2018年3月30日完成)
- STM32 基础系列教程 49 – Jansson
- nginx lua mysql 性能_深入浅出 nginx lua 为什么高性能
- Nginx负载均衡策略有哪些?知识点总结+面试题解析
- react学习(71)--render使用
- m1系统怎么重装,m1芯片怎么重装系统,苹果M1芯片重装系统,m1芯片重新安装mac
- 计算机平面设计的专业技能,计算机平面设计专业学生技能培养途径
- c 易语言dll 循环,易语言的Dll命令及程序集知识点
- 数据中心SAN网络综合布线方案分析
- 计算机软件时间,时间校对软件
- cos三次方积分_COS分之一三次方积分
- RiPro主题高级美化包支持最新版(附安装说明)
- Greenplum -- 最全分区表操作
- FPGA学习日志——Risc-V架构的cpu设计
- cad中直径符号不显示_【技巧】大神在CAD、Word里敲出和快速绘图的小秘密!(内附cad快捷键大全)...
- POJ1163 The Triangle
- [转载]强大的文件上传插件
- wkwebview 在iOS10以下系统显示白屏问题