输入1--50个数字,求出最小数和最大数的和 ,输入以逗号隔开:
方法一:
/*#include<stdio.h>
#include<stdlib.h>
int fun(char * a)
{
int b[50]={0};
char * p = a;
int i =0;
int j =0;
int flat = 1;
int max = 0;
int min = 0;
while(flat)
{
for(p=a;*p!=','&&*p!='\0';p++);
if(*p=='\0')
{
flat=0;
}
*p='\0';
b[i++]=atoi(a);
a=p+1;
}
max=min=b[0];
for(j=1;j<i;j++)
{
if(b[j]>max)
{
max=b[j];
continue;
}
if(b[j]<min)
{
min=b[j];
}
}
return max+min;
}
void main()
{
int sum = 0;
char a[50]={0};
gets(a);
sum = fun(a);
printf("sum=%d\n",sum);
}*/
方法二:
/*#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int pstring(char * srcstr)
{
char * p=srcstr;
char * a=srcstr;
int b[50]={0};
int i =0;
int j =0;
int max= 0;
int min=0;
char temp[20]={20};
while(p)
{
p=strstr(a,",");
if(p)
{
strncpy(temp,a,p-a);
b[i++]=atoi(temp);
a=p+1;
}
else
{
b[i++]=atoi(a);
}
}
max=min=b[0];
for(j=1;j<i;j++)
{
if(b[j]>max)
{
max=b[j];
continue;
}
if(b[j]<min)
{
min=b[j];
}
}
return max+min;
}
void main()
{
int sum = 0;
char a[50]={0};
gets(a);
sum = pstring(a);
printf("sum=%d\n",sum);
}*/
方法三:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int pstring(char * srcstr)
{
char * p=srcstr;
char * q=srcstr;
int i =0;
int j =0;
int a[50]={0};
int max=0;
int min=0;
while(q)
{
q=strtok(p,",");
if(q)
{
a[i++]=atoi(q);
}
p=NULL;
}
max=min=a[0];
for(j=1;j<i;j++)
{
if(a[j]>max)
{
max=a[j];
continue;
}
if(a[j]<min)
{
min=a[j];
}
}
return max+min;
}
void main()
{
int sum = 0;
char a[50]={0};
gets(a);
sum = pstring(a);
printf("sum=%d\n",sum);
}