从键盘输入一个字符如(“12345”只有0-9)用递归算法将字符串转换为数字,

问题描述

从键盘输入一个字符如(“12345”只有0-9)用递归算法将字符串转换为数字,

完整题目:从键盘输入一个字符如(“12345”只有0-9)用递归算法将字符串转换为数字,求算法复杂性,并验证排序正确性

解决方案

不好意思,之前发的那个没验证发现有点问题,误导了,这个验证了一下没问题。你的题目总没有说明翻译成几进制,所以我就按原样翻译了
例如字符"1234",翻译为数字1234.

 void GetNumFromString(char *c,unsigned long *num);
void _tmain(int argc, _TCHAR* argv[])
{
    unsigned long x;
    char *pp = "1234";
    x = 0;
    GetNumFromString(pp,(unsigned long *)&x);
    pp = "8234";
    x = 0;
    GetNumFromString(pp,(unsigned long *)&x);
    while(1)
    {

    }
}

void GetNumFromString(char *c,unsigned long *num)
{
    if(*c != '')
    {
        *num *= 10;
        if(*c >= '0' && *c <= '9')
            *num += *c - '0';
        GetNumFromString(++c,num);
    }
}

解决方案二:

 unsigned long GetNumFromString(char *c)
{
    static unsigned long num = 0;

    if(*c == '')
        return num;
    num *= 10;
    if(*c >= '0' && *c <= '9')
        num += *c - '0';
    GetNumFromString(++c);
    return num;
}
时间: 2016-06-01
Tags: 递归算法

从键盘输入一个字符如(“12345”只有0-9)用递归算法将字符串转换为数字,的相关文章

java-如何从键盘输入一个字符,赋给一个char型变量

问题描述 如何从键盘输入一个字符,赋给一个char型变量 这是老师的附加题,java里的求解求解求解求解求解求解求解求解求解 解决方案 方法一:从控制台接收一个字符,然后将其打印出来 public static void main(String [] args) throws IOException{ System.out.print("Enter a Char:"); char i = (char) System.in.read(); System.out.println("

如何从键盘输入一个字符?

问题描述 同题,如何从键盘输入一个字符.是字符,不是字符串. 解决方案 解决方案二:charc=(char)System.in.read();解决方案三:确保每次都输入时,可以使用Scannersc=newScanner(System.in);charc=sc.next().charAt(0);System.out.println(c); 解决方案四:这个简单..

stringbuffer-从键盘输入一个字符串和一个字符,从字符串中删除全部该字符(如果是字母,大小写都删除)

问题描述 从键盘输入一个字符串和一个字符,从字符串中删除全部该字符(如果是字母,大小写都删除) package lab; /** * @author Administrator */ import java.util.Scanner; public class Lab { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application

scanner-java中如果键盘输入一个字符串,这个字符串为一个空格……

问题描述 java中如果键盘输入一个字符串,这个字符串为一个空格-- java中如果键盘输入一个字符串,这个字符串为一个空格,则用toCharArray()方法,将其转换为一个字符数组,这个数组里面是什么内容?import java.util.Scanner;public class Main { public static void main(String[] args){ System.out.println(""请输入一串字符:""); Scanner in=

jquery ui-jQuery autocomplete 输入一个字符会显示所有数据,输入两个字符后进行过滤

问题描述 jQuery autocomplete 输入一个字符会显示所有数据,输入两个字符后进行过滤 输入第一个字符 匹配的会加粗,但是不匹配的也会显示 输入第二个字符后,不匹配的才会被过滤 使用的是jquery.autocomplete.js 使用 外部json数据 $("#Test").autocomplete("json/test.json", { width:150, max:10, dataType: 'json', minChars: 1, //自动完成

c语言-请问这代码有错吗?为什么我输入一个字符然后按回车,程序就停止运行了?

问题描述 请问这代码有错吗?为什么我输入一个字符然后按回车,程序就停止运行了? #include void chline(char, int, int); int main() { int n, m; char ch; printf("Please enter an character:n"); scanf_s("%c", &ch); printf("Please enter two integers:n"); scanf_s("

c语言-C填空题:从键盘输入一个十六进制字符串,将其转换为十进制数

问题描述 C填空题:从键盘输入一个十六进制字符串,将其转换为十进制数 #include int change(char *s) { int sum=0; while(*s) { if(*s>='a'&&*s<='z') sum=(); else if(*s>='A'&&*s<='Z') sum=(); else if(*s>='0'&&*s<='9') sum=(); (); } return sum; } void ma

c语言-从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

问题描述 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 解决方案 我用java不过逻辑都一样 int n = 987878976;//正是是从键盘接收的数字,处理后的数字. int count = 0;//保存数字的位数 while(n>=1){ count++; n = n/10; } //输出count就可以了 解决方案二: #include <iostream> using names

JAVA中在文本框输入一个字符,下拉菜单中自动检索出现对应的字符怎么实现,急求各位大师了。

问题描述 JAVA中在文本框输入一个字符,下拉菜单中自动检索出现对应的字符怎么实现,急求各位大师了. 如1对应电汇,2对应信用证 当我在本框中输入1,则自动弹出对应下拉菜单:电汇 解决方案 网上一大堆,看你是要动态渲染,还是静态!