字符串 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; }