透明饺子皮用什么面粉:指针,数组,输入一个字符串,以回车键结束,将字符串中的整数合并并保存到整型数组中,并输出整数中的最大值和最小值。

来源:百度文库 编辑:中财网 时间:2024/10/05 13:58:49

 

25.指针,数组,输入一个字符串,以回车键结束,将字符串中的整数合并并保存到整型数组中,并输出整数中的最大值和最小值。

 

/*输入一个字符串,以回车键结束,将字符串中的整数合并

 *并保存到整型数组中,并输出整数中的最大值和最小值。

 */

#include

/*声名两个常量elementN和arrayN用于限定书组数组大小*/

#define elementN 50

#define arrayN 50

/*声明函数fine(char[],int,int[],int, int*,int*)用于

 *整合字符串中的整数,并保存到整型数组中,返回整数个数

 */

int fine(char[],int,int[],int, int*,int*);

main()

{

       int elementSize=elementN,arraySize=arrayN,a,i;

       char string[elementN];

       int array[arrayN],*maxPtr,*minPtr,max,min;

       /*给指针变量赋个地址*/

       maxPtr=&max;

       minPtr=&min;    

       printf("请输入字符串:\n");

    gets(string);

       a=find(string,elementSize,array,arraySize,&maxPtr,&minPtr);

       printf("字符串中连续数字合并后得到的数字有:\n");

       /*对字符串中尾数是否是数字的输出的控制*/

       for(i=0;i<=a-1;i++)

       {

              if(array[i]>=0)

                   printf("%d ",array[i]);

       }

       printf("\n整数中最大值是:%d\n",maxPtr);

       printf("整数中最小值是:%d\n",minPtr);

       return(0);

}

 

/*定义函数fine(char[],int,int[],int, int*,int*)用于

 *整合字符串中的整数,并保存到整型数组中,返回整数个数

 */

int find(char string[],int elementSize,int array[],int arraySize,int*maxPtr,int*minPtr)

{

       int count=0,i=0,sum=0,num=1,min=0,max=0;

       /*对整数数组的整合与读取*/

       while(string[i]!='\0')

       {

              /*挑选数字*/

              if(string[i]>='0'&&string[i]<='9')

              {

                     sum=sum*10+((int)string[i]-48);

                     array[count]=sum;

                     num=0;

              }

              /*计算数组元素个数*/

              else

              {

                     num=num+1;

                     if(num==1)

                     {

                            count+=1;

                            sum=0;

                     }

              }

              i++;

       }

       /*寻找最值并赋值给指针*/

       for(i=1;i<=count-1;i++)

       {

              if(array[i]>array[max])

                     max=i;

              if(array[i]

                     min=i;

       }

       *maxPtr=array[max];

       *minPtr=array[min];

       return count+1;

}

运行结果如图:
指针与数组、字符串的问题。 一个指针数组问题 在C++中,为什么字符串数组都以"\0"结束?? 任意输入一个字符串输入到数组,将其中的数字存入到另一个数组中,并显示数字 vc++中,怎样对结构体中字符串成员输入一个空格,而以第二个空格作为该成员输入的结束. 试用指针编写一个程序,能将任意输入的字符串中的“#”删除? 任意输入一个字符串(不超过50个字符)输入到数组,例如:输入ABCD1234;IJAS*3,显示1234 ,将其中的数字存入到 有一个以排好序的一维数组,今输入一个数,要求按原来顺序的规律将它插入到数组中。(数组长度不限) VC里面 字符串指针数组 把我搞的昏头转向,麻烦帮我看看啊,谢谢 求一个C语言小程序(一个字符串数组) 编程求一个字符串的长度, 用字符数组实现 编程求一个字符串的长度, 用字符数组实现 从终端输入一个由"+-*/"及操作数组成的表达式字符串,输出表达式的运算结果(用数组,栈编写) c++ 用键盘输入以#结束的字符串,试编一个VB程序删除花括号中的字符,然后输出 请教一个定义C语言指针数组的问题 求教一个关于C++指针数组动态分配的问题 一个指针与数组名的问题,请回答? 字符串给数组赋值 C#字符串数组转换~~~ Java中的字符串以什么为结束符? 指针与数组 指针数组区别 数组指针题 数组的指针问题!!