用C++写一个求逆序数的程序.

用C++写一个求逆序数的程序.,第1张

#include <iostream.h>

main()

{

char a[9],b[9]

char *p1,*p2,*p3,*p4

int count,fg

cout<<"输入一个基本数:"

cin>>a

cout<<endl<<"输入基本数的一个变序数:"蚂档大

cin>>b

count=0

p2=b

while(*p2){

fg=0

for(p1=a*p1p1++)

if(*p1==*p2)

{

fg=1

break

}

if(fg){

for(p3=ap3<p1p3++)

for(p4=p2+1*p4p4++)

if(*p3==*p4)count++

}

p2++

}

cout<<蠢槐"逆序数为:"<<count

system("pause"闷竖)

return 0

}

上述代码经编译通过

package com.yuxin.learn

public class Main{

//输入整数后,逆序输出为字符串,通过递归实现

public static String reverse(int a){

if(a&lt0)return""

if(a&lt10)return Integer.toString(a)

int last=a-(a/10)*10//取得这个整数的最后一位

return Integer.toString(last)+reverse(a/10)//递归输出最后一位和前面的倒序数字

}

public static void main(String[]args){

int x=123023040

String rev=reverse(x)

System.out.println(rev)

System.out.println(reverse(123))

}

}

输出结果:

1、040320321

2、321

扩展资料:

C++与C#的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。

面向过程

静态全局变量

在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:

//Example1

#include&ltiostream&gt

using namespace std

void fn()//声明函数

static int n//声明静态全局变量

int main()

{

n=20//为n赋初值

printf("%d",n)//输出n的值

fn()//调用fn函数

}

void fn()

{

n++//n的值自加一(n=n+1)

printf("%d",n)//输出n的值

}

静态全局变量有以下特点:

该变量在全局数据区分配内存;

未经初始化的静态全局变量会被程序自动初始化为0(在函数体内声明的自动变尘局派量的值是随机的,除非它被显式初始化,而在函数体外被声明的自动变量也会被初始化为0);

静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;

静态变量都在全局数据区分配内存,包括后面将要提到的静态局部变量。对于一个完整的程序,在内存中的分布情况如下图:

代码区//low address全局数据区堆区栈区//high address

一般程序把新产生的动态数据存放在堆区,函数内部的自动变量存放在栈区。自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。细心的读者可能会发现,Example 1中的代码中将

static int n//定义静态全局变量

改为

int n//定义全局变量

程序照样正常运行。

的确,定义全局变量就可以实现变量在文件中的共享,但定义静态全局变量还有以下好处:

静态全局变量不能被其它文件所用;

其它文件中可腊返以定义相同名字的变量,不会发生冲突;派贺

参考资料:

百度百科——static(计算机高级语言)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12437098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存