字符串temp=”7,3,4|3,7,1”,将“|”前面的数字从小到大排列,将“|”后的数字从大到小排列?

作者&投稿:泊常 (若有异议请与网页底部的电邮联系)
用0,1,3,7这四个数字可组成多少个不同的四位数?从小到大排列,1703是第几个?~

在答,采纳先

另外申请一个和原来的字串数组长度一样的数组,数组类型看情况,最好是整数
然后依次对字串中的元素进行强制类型转换,依次放入那个另外的数组中,对这个另外的数组排序之后再强制转换成字串,OK了

以下代码是用C#写的,如果你不是需要C#,那只是语法不同,
测试代码:
string strs = "7,3,4|3,7,1";
int[] st, end;

RtALLthing(strs, out st,out end);
运行后st为升序排序3,4,7
end为降序排序7,3,1

///主排序方法,其中intstr是传入的字符串,out返回2个整形数组,st对应|前面的数,end对应后面的数

public void RtALLthing(string intstr,out int[] st,out int[] end)
{
string[] strs = intstr.Split('|');
int[] sts,ends;
string[] strs1=strs[0].Trim().Split(',');
string[] strs2=strs[1].Trim().Split(',');
sts = new int[strs1.Length];
ends = new int[strs2.Length];
for (int i = 0; i < sts.Length; i++)
{
sts[i] = int.Parse(strs1[i].Trim().ToString());
}
for (int i = 0; i < ends.Length; i++)
{
ends[i] = int.Parse(strs2[i].Trim().ToString());
}
st = RtMax(sts);
end = RtMin(ends);
}

///按从小到大排序方法
public int[] RtMax(int[] L)
{
int[] strs = new int[L.Length];
for (int i = 0; i < strs.Length; i++)
{
int str = 0;
for (int j = 0; j < strs.Length - i - 1; j++)
{
if (L[j] > L[j + 1])
{
str = L[j];
L[j] = L[j + 1];
L[j + 1] = str;
}
else
{
str = L[j + 1];
}
}
if (i == strs.Length - 1)
{
str = L[0];
}
strs[strs.Length-i-1]=str;
}
return strs;
}

///按从大到小排序方法
public int[] RtMin(int[] L)
{
int[] strs = new int[L.Length];
for (int i = 0; i < strs.Length; i++)
{
int str = 0;
for (int j = 0; j < strs.Length - i - 1; j++)
{
if (L[j] < L[j + 1])
{
str = L[j];
L[j] = L[j + 1];
L[j + 1] = str;
}
else
{
str = L[j + 1];
}
}
if (i == strs.Length - 1)
{
str = L[0];
}
strs[strs.Length - i - 1] = str;
}
return strs;
}
希望对你有帮助~~~~


编写程序:将两个字符串连接后输出。(提示信息:如两个字符串为“country...
include<stdio.h> char *strcat1(char *s,char *t);int main(void){ char s1[80],s2[80];printf("Please input two strings:\\n");gets(s1);gets(s2);printf("%s\\n",strcat1(s1,s2));return 0;} char *strcat1(char *s,char *t){ int i,j;for(i=0;s[i]!='\\0';i++)...

c语言 递归数字转换为字符串
\/\/整型向字符串转换 void itostr(int num, char *rstr){ char temp[7], str[7];int i = 0, j = 0;if (num == 0){ rstr++ = '0';rstr = '\\0';return ;} while (num){ temp[i++] = num%10 + '0';num \/= 10;} while (i > 0){ str[j++] = temp[--i];}...

c程序 问题
方法1:换一下这两句的顺序。就没有问题了。char c[6];char b[100]="wang";方法2: char c[6];改成char c[7];原因在与sprintf的时候,把c的结束符占掉了,而且你定义b在c后,那么b自动加到c的后面,因为c的结束标志消失了。处理字符串问题当特别注意结束符的问题!

问一个字符串数组的问题
正确的写法是 char temp[3][4]={"tae","oyb"};为啥要4,这是要把字符串结束符算进去.temp[1][1]指的是第一行第一列的字母,就本题来说,是字母y 类似的temp[1][2]指的就是第一行第二列的字母啦。PS:行列都是从0开始算的。

给定一个字符串S和一个字符x,编写递归算法实现下列功能:
include<stdio.h> void s_killer(char *,char);int main(){ char *a=(char *)malloc(255);printf("请输入一个含有s的字符串:");scanf("%s",a);s_killer(a,'s');return 0;} void s_killer(char *a,char s){ static int count=0;int i=0;char *temp;for(temp=a;*temp!='...

c语言问题
我已经测试过了A比B大1的 3 答案应该是D,这个没的说,括号的作用就是避免二义 4 答案应该是C,不要把 int *ptr();搞混了,题上的是返回一个整形数据的指针函数,后者是一个 返回指针的函数 5 答案是A,呵呵,这个你好好想一下就明白了 6 答案是A 4 7 答案是23 这个你要好好看一看,...

java回文字符的判断 请高手指点一下 这个是怎么运行的???
";\/\/定义两个空字符串sub,temp for(i=0;i<n;i++)\/\/循环执行n次 { sub=str.substring(i,i+1);\/\/令sub等于str的子串,\/\/因为用的是从i到i+1,所以就是第i个字符 temp=sub+temp;\/\/把sub接在temp前面 } System.out.println("temp="+temp);\/\/输出最后得到的反字符串temp="olleh"...

下面是vb的脚本 谁能一句句解释给我,我用在按键精灵里怎么不好用_百度...
"A") then ‘如果chr(a)是个大写字母则执行一下语句 temp = temp & chr(a)’temp字符串加上chr(a)这个大写字母 i = i +1记录temp的长度的变量加一 endif ‘语句执行完毕 if i >n then exit do ’如果字符串temp的长度大于n时退出循环,即字符串生产完毕 loop 返回循环开始,重复循环 ...

C语言字符数组赋值问题?
首先,字符串里存的是字符'0'和'1',所以 for(int i=0;m>0;i++){ temp[i]=m%2+'0' \/\/这里要加上'0'm\/=2;} 然后,加上 for(int j=0;j

C语言的编程题!
1.从键盘上输入若干字符,直到输入’#”结束。统计英文字母、数字、空格、其他字符的个数并输出。include "stdio.h"main(){ char c;int letter,number,space,other;letter=number=space=other=0;printf("\\nPlease input some characters:(end of '#')\\n");while((c=getchar())!='#'){ ...

胶州市17731376730: 字符串temp=”7,3,4|3,7,1”,将“|”前面的数字从小到大排列,将“|”后的数字从大到小排列? -
琦亨复方: 以下代码是用C#写的,如果你不是需要C#,那只是语法不同, 测试代码: string strs = "7,3,4|3,7,1"; int[] st, end; RtALLthing(strs, out st,out end); 运行后st为升序排序3,4,7 end为降序排序7,3,1///主排序方法,其中intstr是传入的字符串,out返...

胶州市17731376730: String temp=""; temp=i<100?("0"+i):(""+i);的含义是什么 -
琦亨复方: String temp="";//设为空字符串 temp=i//反之,temp=""+i; 估计是保持数据的一致性(都是三位),034,056,239...

胶州市17731376730: C语言题 给定字符串,按字母表正序输出其中的大写字母 -
琦亨复方: 思路:弄一个26长度的INT数组,然后初始化成0,每找到一个大写,就更新对应位置,之后把所有不是0的按顺序打出来就可以了 #include #include #include int main() { int num[26]; int temp , len; char input[1000]; scanf("%s" , input); len = strlen...

胶州市17731376730: C语言,输入一个字符串,采用字母后移五位的办法加密,后面几个字母加五后需要回到前面 -
琦亨复方: int i,j,k; char temp;for(j=0;j<m;j++){temp=w[j];//此处有误,每次循环时j都比之前+1,但是按你的逻辑此处应该是首字母for(i=0,k=0;i<=N-1,k<=N-2;i++,k++)w[k]=w[i+1]; w[N-1]=temp; } 你的逻辑是这样: 假如字符串是abcdefgh,要将前三个字...

胶州市17731376730: 十进制转换二进制字符串 -
琦亨复方: 你的错误表现在: 1. malloc分配了内存,但是没有用free释放 2. 申请的内存空间不够转换,对于32系统,至少要32+1个字节空间,而不是sizeof(char)*2 3. 没有考虑到n=0的情况就直接j++,得不到正确结果 4. 本来转换用到的内存不会太多,32...

胶州市17731376730: c语言 下列函数sort实现对字符串按字典顺序由小到大排序,请填空 -
琦亨复方: 答案:(1)char *p[],int n(2)*temp(3)p[j],p[j+1])>0(4)p[j]=p[j+1]分析:(1)由实参得知函数sort()有两个形参,根据上题得char *p[],int n.(2)有下面语句temp=p[j]可以得到temp是字符中指针.(3)根据冒泡排序方法和字符串比较函数得到p[j],p[j+1])>0.(4)字符串指针可以通过赋值语句传递值,字符串变量不能够使用赋值语句传递值.

胶州市17731376730: 求程序,统计字符串中每个数字字符(0,1,2,3,4,5,6,7,8,9)的个数,用数组num[]统计 现场求等 -
琦亨复方: int num[10]={0}; char str[]="abc123"; for(int i=0;i int temp=(int)str[i]; switch(temp){ case 48:num[0]++;break; case 49:num[1]++;break; case 50:num[2]++;break; case 51:num[3]++;break; case 52:num[4]++;break; case 53:num[5]++;break; case 54:...

胶州市17731376730: 删除指定的字符串asp -
琦亨复方: 你的意思是在aa字符串中查找特定的字符(比如7),然后删除这个特定的字符,然后再显示删除“7”后的字符串? 如果是: <% aa="23,3,4,234,6,7,45,567,345,43,4564,32,34" aaArr=split(aa,",") aaArrLength=ubound(aaArr) aaTemp = "...

胶州市17731376730: 利用指针将三个字符串排序... -
琦亨复方: #include<stdio.h>#include<string.h>#define NUM (3) main() { char *str[NUM]; char *tmp; int i,j;// 读取字符串 for(i = 0; i < NUM; i++) { printf("enter string <%d/%d>:\n",i+1, NUM); tmp = malloc(100); scanf("%s", tmp); str[i] = tmp; }// 排序 for(i = ...

胶州市17731376730: java 中如何将一个字符串转换成一个整数数组 -
琦亨复方: java将字符串转换成整数数组,可以先拆分字符串,然后使用Integer进行转换,实例如下:1 2 3 4 5 6 7String str = "100 200 33 55";//字符串 String[] temp = str.spli(" ");//以空格拆分字符串 int[] result = newint[temp.length];//int类型数组 for(inti=0;i<temp.length;i++) {result[i] = Integer.parseInt(temp[i]);//整数数组 }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网