「C语言」「算法」多种方法求一个数的位数及逆序数

 1 #include <stdio.h>
 2
 3
 4 int main()
 5 {
 6     int a,b[5]={0,0,0,0,0},i=0,len=0;
 7     scanf("%d",&a);
 8     while(i<5)
 9     {
10         b[i]=a%10;
11         a=a/10;
12         len++;
13         if(a==0)
14             break;
15         i++;
16     }
17     printf("%d\n",len);
18     for(i=len-1;i>0;i--)
19         printf("%d ",b[i]);
20     printf("%d\n",b[i]);
21     for(i=0;i<len;i++)
22         printf("%d",b[i]);
23     return 0;
24 }
时间: 2024-12-08 03:39:31

「C语言」「算法」多种方法求一个数的位数及逆序数的相关文章

shell编程基础一(多种方法求值1+2+..+100)

#SHELL编程基础一(多种方法求值1+2+..+100)##为什么要学好shell shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容. 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件附带的shell脚本内容. 只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的工作,从而为个人的职场发展奠定较好的基础.# 本文的宗旨是熟

用多种方法交换两个数的值

今天上了C语言课,老师讲了有关交换两个数的问题.课后,经过自己的思考和总结,我得出了以下几种方法.虽然这个问题的方法还有很多,但我目前只了解到了这五种方法,希望大家多提建议和意见.其他的方法待补充奥... 法一: 大家最容易想的方法,首先设一个临时变量,利用临时变量将两个数交换.下面是实现它的代码: #include<stdio.h> int main() {   int num1=5,num2=10,tmp=0;   printf("before:\n");   prin

「C语言回顾之旅」第一篇:指针详解

说明: 最近学校课程开设了<数据结构>的课程,无疑,数据结构的重要性在IT生涯的进阶路上是不可置疑的,也常说,数据结构是专业性与非专业性的分界线.所以无论以后走的是什么方向,毕竟是读计算机专业的,所以必须学好数据结构的.虽然目前我给自己定的方向是走运维/系统架构方向的,可有句话说得好,不懂开发的运维注定会被淘汰,在IT这一行,要让自己变得更加强大.最近也一直在学Python,感觉还不错,学数据结构相信对自己也肯定有好处的,对一些较为底层的知识有些了解和理解,这样才能走得更远! 无疑C语言就很重

「C语言回顾之旅」第二篇:指针详解进阶

说明: 第一篇回顾了指针的基本概念以及基本使用,因此对指针也有了一个较为清晰的思路,但实际上第一篇关于指针的内容是不太容易忘记的.这是第二篇中的内容是比较容易混淆,但对于指针的进一步学习也是非常重要的. 一.指向函数的指针 1.函数指针 ·函数指针即指向函数的指针,函数指针值为函数的入口地址,通过使用该指针,即可以使用该函数: ·编写一个程序返回两个数的最大值,通过函数指针调用函数: a.main函数代码如下: #include<stdio.h> int max(int *, int *);

C语言之基本算法25—牛顿迭代法求方程近似根

//牛顿迭代法! /* ============================================================ 题目:用牛顿迭代法求解3*x*x*x-2*x*x-16=0的近似解. ============================================================ */ #include<stdio.h> #include<math.h> #define E 1e-8 double hs(double x) {

C语言之基本算法29—整数任意次方的最后三位数(精度问题)

//精度问题! /* ================================================================== 题目: 求整数的任意次方最后三位数!347的72次方最后三位数是241. ================================================================== */ #include<stdio.h> #include<iomanip> main() { int x,y,p,n;

C语言之基本算法11—牛顿迭代法求平方根

//迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1=(Xn+a/Xn)/2. ================================================================== */ #include<stdio.h> #include<math.h> main() { float a,x0,x1;

多种方法求最大连续和

最大连续和的定义:给出一个长度为n的序列A1,A2,...,An,求最大连续和,即找要求找到1<=i<=j<=n,使得Ai+Ai+1+..+Aj最大. 方法一,根据定义容易想到: int maxSubSeqSum(int A[],int N) { int maxSum=A[0]; int i,j,k; for(i=2;i<N;i++) for(j=i;j<N;j++) { int sum=0; for(k=i;k<=j;k++) { sum+=A[k]; } if(su

多种方法求字符串长度

方法一: #include<stdio.h> #include<string.h> int main() { int count=0; char a[]="hello world !";     while(a[count]!='\0') { count++; } printf("%d\n",count); return 0; } 方法二: #include<stdio.h> int main() { int strlen=0;