从一个字符数组中读出相应的整数、实数(有点问题,待调试,求大神帮忙)

原创 2017年01月14日 02:28:37

从一个字符数组中读出相应的整数、实数

// author:yangyang。
//main.c
#include "stdafx.h"
void shishupanduan(int flag);
char s[11];
char *p = s;
void main()
{
    gets_s(s);
    char zhengshu[10];
    int i = 0;
    int dianflag=0;//有几个小数点
    int dianflaga[10] = { 0 };//每个小数点的位置
    int *pdianflaga = dianflaga;//小数点位置数组的指针
    int wflag = 1;
    while (wflag==1)
    {
        //输出整数
        if ((*p >= '0'&&*p <= '9'))
        {
            zhengshu[i] = *p;
            i++; p++;
        }
        else if (*p == '.')
            {
                *(pdianflaga+dianflag) = i;//记录小数点在第几个
                dianflag++;//更新小数点个数
                p++; i++;
            }
        //p++;
        else if (*p == '\0')//遇到结束标识符退出死循环
        {
            p = zhengshu;
            while (1)
            {
                for (int j = 0; j < i; j++)
                printf("%c", *(p + j));
                wflag = 0;
                break;
            }
        }
        else
        {
            //p++; //i++;
        }

    }
    printf("\n");
    for (int dd = 0; dd < dianflag; dd++) 
    {
        shishupanduan(*(pdianflaga));
        pdianflaga++;
    }
}
void shishupanduan(int flag)
{
    p = s;
    int flag1 = flag;
    int flag2 = flag;
    for (int k = 0;k<flag; k++) //往前判断是否为整数
    {
        if (*(p + flag1-1) >= '0'&&*(p + flag1-1) <= '9')//是整数往前移位
        {
            flag1--;
        }
        else//不是整数跳出for循环
            break;
    }
    for (int k = 0;k<10-flag; k++)//往后判断是否为整数
    {
        if (*(p + flag2+1) >= '0'&&*(p + flag2+1) <= '9')//是整数往后移位
        {
            flag2++;
        }
        else//不是整数跳出for循环
            break;
    }
    for (int k = flag1 ; k <= flag2; k++)
            printf("%c", *(p + k));
    printf("\n");
}

从一个字符数组中读出相应的整数、实数

#include int main() {     char sp[] = "qw1234u23.45p98";     char *p = sp;     float a[80];   ...
  • a_studycx
  • a_studycx
  • 2016-10-29 21:45:17
  • 498

从一个字符数组中读出相应的整数,实数

#include int main() { char a[10];       int i; printf("please enter :\n");      //提示输入字符数组...
  • darthlotus
  • darthlotus
  • 2016-11-06 21:21:46
  • 988

从一个字符数组中取出相应的整数、实数

/* 功能:从一个字符数组中取出相应的整数、实数 作者:班草  */ #include #include #include void read_num( char *str...
  • yh13218015967
  • yh13218015967
  • 2017-06-16 17:50:09
  • 96

C语言编程练习——从一个字符数组中读出相应的整数、实数

/*从一个字符数组中读出相应的整数、实数*/ #include #include void my_seek(char *str,int a[],float b[]) { int i = 0; ...
  • qq_38076413
  • qq_38076413
  • 2017-04-30 16:37:36
  • 424

从一个字符数组中读出相应的整数、实数 例如:char cStringArray[10] = {1,2.3,45.6,7.89}

#include int main() { float s[10]={1,2.3,45.6,7.89}; int i; for(i=0;i
  • qq_36691454
  • qq_36691454
  • 2016-12-25 19:33:03
  • 77

黑马程序员之C#编程基础学习笔记:从一个整数数组中取出最大的整数。

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test...
  • xutingzhou
  • xutingzhou
  • 2012-08-31 08:26:51
  • 2271

用Java正则表达式表示整数、实数和标识符

// 识别整数:排除多个零的情况 public static boolean matchInteger(String input) { if (input.matches("^-?/...
  • wuxianglong
  • wuxianglong
  • 2010-10-26 21:30:00
  • 3428

数组可以存放实数吗?

可以 定义为:float a[100];
  • xunalove
  • xunalove
  • 2017-02-04 17:06:07
  • 958

ELM——HOG

  • 2014年08月04日 15:47
  • 41KB
  • 下载

求三个数中的最大数 (分别考虑整数、双精度数、长整数)【函数的重载】

/*  * 程序的版权和版本声明部分:  * Copyright (c) 2012, 烟台大学计算机学院  * All rights reserved.  * 文件名称:求三个数中的最...
  • youshenxuzuo
  • youshenxuzuo
  • 2013-01-26 15:58:30
  • 1600
收藏助手
不良信息举报
您举报文章:从一个字符数组中读出相应的整数、实数(有点问题,待调试,求大神帮忙)
举报原因:
原因补充:

(最多只允许输入30个字)