输入一个字符串S中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串写入到D盘根据目录下新建的

作者&投稿:赖歪 (若有异议请与网页底部的电邮联系)
用C语言编程,将字符串s中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串输出~

代码如下:
#include #include int main(){char str[] = "Hello World!", ch;int i, j, len;len = strlen(str);for (i = 0; i str[j]) {ch = str[i];str[i] = str[j];str[j] = ch;}}}printf("%s
", str);return 0;}运行结果:

#include "stdio.h"
#include "string.h"
main()
{ int bot=0,top,mid,flag=0;
char str[11]="achklnprtx",c;
c=getchar();
top=strlen(str)-1;
while((top-bot)>=0)
{mid=(bot+top)/2;
if(str[mid]==c)
{ flag=1;break;}
else if(str[mid]<c)bot=mid+1;
else top=mid-1;
}
if(str[mid]==c)
printf("%c字符在已知字符串中的位置为%d
",c,mid);
else printf("%c字符不在已知字符串中
",c);
}

#include<stdio.h>
#include<string.h>
int main()
{
FILE *p;
char s[128];//定义一个数组,用来存储从键盘输入的字符
char c;
int i,j,n;

if((p=fopen("D:\\design.dat","w"))==NULL)
{
printf("File could not be open!\n");
exit(0);
}
printf("input data:\n");
//输入字符串
for( i=0;i<128;i++ )
{
s[i]=getchar();
if ( s[i]=='\n' )
break;
}
s[i]='\0'; //保证串尾是'\0'
n=i;

//冒泡排序
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(s[j]<s[j-1])
{
c=s[j-1];
s[j-1]=s[j];
s[j]=c;
}
}
}
for(i=0;i<n;i++)
fputc(s[i],p);
fclose(p);
return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
FILE *p;
char s[128];//定义一个数组,用来存储从键盘输入的字符
char c;
int i,j,n;

if((p=fopen("D:\\design.dat","w"))==NULL)
{
printf("File could not be open!\n");
exit(0);
}
printf("input data:\n");
//输入字符串
for( i=0;i<128;i++ )
{
s[i]=getchar();
if ( s[i]=='\n' )
break;
}
s[i]='\0'; //保证串尾是'\0'
n=i;

//冒泡排序
for(i=0;i<n;i++)
{
for(j=1; j<n-i; j++) //***这里,总要从头冒,不是每次都到尾
{
if(s[j]<s[j-1])
{
c=s[j-1];
s[j-1]=s[j];
s[j]=c;
}
}
}
for(i=0;i<n;i++)
fputc(s[i],p);
fclose(p);
return 0;
}
//copy二楼的回复,只修正了一行,汗

#include<stdio.h>
#include<string.h>
int main()
{
FILE *p;
char s[128];//定义一个数组,用来存储从键盘输入的字符
char c;
int i,j,n;

if((p=fopen("D:\\design.dat","w"))==NULL)
{
printf("File could not be open!\n");
exit(0);
}
printf("input data:\n");
//输入字符串
for( i=0;i<128;i++ )
{
s[i]=getchar();
if ( s[i]=='\n' )
break;
}
s[i]='\0'; //保证串尾是'\0'
n=i;

//冒泡排序
for(i=0;i<n;i++)
{
for(j=1; j<n-i; j++) //***这里,总要从头冒,不是每次都到尾
{
if(s[j]<s[j-1])
{
c=s[j-1];
s[j-1]=s[j];
s[j]=c;
}
}
}
for(i=0;i<n;i++)
fputc(s[i],p);
fclose(p);
return 0;


C语言 输入一个字符串 去掉重复的字符,输出无重复的
#include<stdio.h>int main(){ char str[100]="";\/\/输入字符串,自己设置长度 char out[100]=""; int letter[127]; int k=127,m=0; while(k--)letter[k]=-1; puts("input a string:"); gets(str); for(k=0;k<100;k++) letter[str[k]]++; for(k=0;k<100;k++) if(letter[str[...

"asc(mid(s,i,1))"是什么意思?
这是VB的一个表达式,先mid(s,i,1)取字符串s中第i个字符; 再取asc()得到这个字符的ascII码。.Mid()就是从一个字符串中取子字符串,比如a="aabbcc",我们想取出"bb"就可以用Mid("aabbcc",3,2)。Mid有3个参数:第一参数是要从哪个字符串中取,第二个参数是指从第几个开始取,第三个参数...

在C语言中如何实现用键盘输入一个字符串,并打印出来?
在C语言中输入字符串后然后打印出来的编程方法如下:1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4....

js设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非平凡...
数据结构问题,设S是一个长度为n的字符串,其中字符各不相同,则S中的互异非平凡子串(非空切不同于本身)个数为———答案解析是这样的:长度为n-1的不同子串个数为2,长度为n-2的不同子串个数为3..,长度为1的不同子串个数是n,综合得到n(n+1)\/2-1 ...

python3判断字符串中有多少个字母(python判断字符串的字母个数)
本篇文章给大家谈谈python3判断字符串中有多少个字母,以及python判断字符串的字母个数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录一览:1、python中如何统计字符串中各个字母的个数2、python写一个函数countNum(s),确定输入的字符串s中有几个大写字母,几个小写字?3、python函数...

c语言题目:从键盘输入一个字符串存入数组s[80],统计该字符串的长度并...
include<stdio.h> include<string.h> int main(){ char s[80];int len,i;gets(s); \/\/输入一段字符 len=strlen(s); \/\/计算字符串长度 for(i=0;i<len;i++){ if(s[i]>='a'&&s[i]<='z') \/\/将小写字母转换为大写 s[i]=s[i]-32;} printf("%d\\n",len); ...

输入一个母字符串,再输入一个目标字符串,返回目标字符串在母字符串...
在string.h里有个strstr方法是用来查找子字符串的,但一般不能用这个方法,通常的方法就是假定有一个字符串s,长度为a(长度可以由strlen求出或者自己算),子字符串s1长度为b,那么从s的第0个字符开始(i),到a-b+1为止,逐一用strncmp比较s1是否与s+i开始的长度为b的字符相等,如果相等,i就是...

C语言编程:从键盘输入一个字符串,查找指定子串第一次出现的位置。求问题...
flag;\/\/输入一串字符printf("Input a string:");gets(s);\/\/输入想要查找的字符printf("Input another string:");gets(d);\/\/调用函数,输出结果flag=SearchString(s,d);if(flag==-1)printf("Not found!\\n");elseprintf("Searching results:%d\\n",flag);system("pause");...

c++中定义了一个字符串类型的变量s,请问s.str是什么意思?
s是你所创建的对象名称,str是c++ 中 string类 (class) 的一个成员 函数,它能把 string类 的对象的字符 转换成 C 中 char 型变量 的 字符。

如何判断一个字符串是否包含另一个字符串
包含有两种意思:字符串t是字符串s的字串(t的每个字符在s中顺序排列,但不一定连续),例如"srt"被包含于"ehiseriutey"字符串s的某段与字符串t相等(t的每个字符在s中顺序排列,且连续),例如"skir"被包含于"hskskirtnn"对于第一种,用贪心算法,即按照字符串s的每一位枚举,匹配t中的第i位...

琼海市17022391440: 用C语言编程,将字符串s中的所有字符按ASCII值从小到大重新排序后,将排序后的字符串输出 -
农砌博乐: #include "stdio.h" #include "string.h" int main() {char s[100],t;int i,j,sum;printf("Input:\n");gets(s);sum=strlen(s);for(i=0;i<sum-1;i++)for(j=0;j<sum-i-1;j++)if(s[j+1]<=s[j]){t=s[j];s[j]=s[j+1];s[j+1]=t;}printf("Output:\n");puts(s);return 0; }

琼海市17022391440: C++编程题目:输入一个字符串,把其中的各个字符按ASCII值大小逆序输出 -
农砌博乐: #include<string>#include<algorithm>#include<iostream>#include<functional> using namespace std; int main() { string s; cin >> s; sort(s.begin(), s.end(), greater<char>()); cout << s << endl; }

琼海市17022391440: 有已排好序的字符串a,下面的程序是将字符串s中的每个字符按a中元素的规律插入到a中. -
农砌博乐: 这个程序的意思你没有表述清楚 应该是: 将s中的字符插入已经按照从小到大的顺序排列的a串中 执行的过程是: for(k=0;s[k]!='\0';k++)//依次提取每个s中的字符进行操作 { j=0;//从a的第一个开始比较 while(s[k]>=a[j]&&a[j]!='\0') j++;//如果a没有结束并且s【k】字符大于a的当前字符 那么就和a的下一个比较,直到s【k】小于当前a字符或者a当前位置为结束 才跳出循环进行下一个操作. for(【1】) 【2】;//将当前位置以及以后的字符进行向后移动 以替出a中存放s【k】的位置 a[j]=s[k];//将s【k】插入 } puts(a); }

琼海市17022391440: C语言,有一个已排好序的字符串a,将字符串s中的每个字符按顺序插入到字符串a中. -
农砌博乐: 看了几遍了弄不清楚,while(s[k]>=a[j]&&a[j]!='\0');打错了吧?后面有分号?

琼海市17022391440: 题目是将s中的所有字符按ascii值从小到大排列并显示. 请问各位大神,我这么编写错在哪,帮我查找 -
农砌博乐: 题主的代码除了第十七行的 for (j = i + 1; j < n - 1; j++) {...}应改成 for (j = i + 1; j < n; j++) {...} 或者 for (j = i + 1; j <= n - 1; j++) {...}(否则字符串 s 的最后一个字符无法被比较到)之外,应该没有什么能影响输出结果的错误,你原封不动的代码在我...

琼海市17022391440: C语言:任意输入一个字符串s,将s中所有的字符c删除 -
农砌博乐: c++的成不?#include<string> int main() { std::string input; //输入字符串 std::cin>>input; //查找字符c size_t pos=input.find('c'); while(pos!=std::string::npos) { input.erase(pos,1);//删除c pos=input.find('c',pos);//查找下一个c } std::cout<<input; }

琼海市17022391440: 编写程序:从键盘输入一个字符串s,将s字符串中所有和前面 重复多余的字符删除,其余字符保留.输出处理后 -
农砌博乐: 用每个字母声明一个flag 每发现一个记录 下来遇见了 删除

琼海市17022391440: 输入一个字符串,将该字符串中的所有字母a变为字母b,输出字符串 -
农砌博乐: 展开全部 很简单啊,1的思路是使用替换函数即可实现,2的思路对2个字符串使用用函数LEFT(),然后将所取得的字符串相加再进行输入即可

琼海市17022391440: 帮帮忙,编程题
农砌博乐: 1. #include<stdio.h> void f(float &ave,int *a); int main() { int a[10]; float ave=0; printf("请输入10个数:\n"); for(int i=0;i<10;i++) scanf("%d",&a[i]); f(ave,a); return 0; } void f(float &ave,int *a) { float sum=0; for(int i=0;i<10;i++) sum+=a[i]; ave=sum...

琼海市17022391440: 1. 编写程序:从键盘输入一个字符串s,将s字符串中所有和前面重复多余的字符删除,其余字符保留.输出处理 -
农砌博乐: 循环…一个外循环for(i=0;i

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