字符串 34,45,56,23,54,32,34 怎么取出各数,排序后打印最大的3个数。
NSMutableString *str=[NSMutableString stringWithFormat:@"34,45,56,23,54,32,34"]; 字符串就是这个 有思路 不会取值 我弄成[str intValue]; 只能取出34 求高手帮忙一下
程序代码:#include <stdio.h>
#include <ctype.h>
#define MAX 100
//处理函数,返回得到的数字个数
int process(char str[],int a[])
{
char *p=str;
int i=0,j=0,k=0;
while(1)
{
if(*p==','||*p=='\0')
{
a[k]=i;
i=0;
j=0;
k++;
if(*p=='\0') break;
}
else
{
j=*p-'0';
i=i*10+j;
}
p++;
}
return k;
}
int main()
{
char s[]="34,45,56,23,54,32,34";
int i=0,a[MAX],j=0,k=0,tmp=0;
for(;i<MAX;i++)
{
a[i]=-1;
}
k=process(s,a);
//排序
for(i=0;i<k-1;i++)
{
for(j=i+1;j<k;j++)
{
if(a[i]>a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
for(i=k-3;i<=k-1;i++)
{
printf("%5d",a[i]);
}
return 0;
}









