编写一个C语言程序:1、任意输入一个字符串;2、把字符串中的所有字符按照从左到右的顺序按照ASCII码的大小进行排序;3、将字符串中的所有字符依次左移,其中最左边的字符移到最右边;4、连续输出显示,要求输出跑马灯效果。
1条回答 默认 最新
关注 /*编写一个C语言程序:1、任意输入一个字符串;2、把字符串中的所有字符按照从左到右的顺序按照ASCII码的大小进行排序;3、将字符串中的所有字符依次左移,其中最左边的字符移到最右边;4、连续输出显示,要求输出跑马灯效果。*/ #include <stdio.h> #include <string.h> /*函数声明部分*/ void bubble_sort(char arr[],int n); //冒泡函数声明 void char_left(char str[],int n); //字符左移函数声明 int main() { int i = 0; char str[128]; gets(str); int len = strlen(str); //排序 bubble_sort(str,len); puts(str); //跑步灯 for(i=0;i<len;i++) { char_left(str,len); puts(str); } return 0; } /*函数定义部分*/ void bubble_sort(char arr[],int n) { int i,j,tmp; for(i=0;i<n-1;i++) //n个元素需要排n-1趟 { for(j=0;j<n-1-i;j++) //每排完一趟,下次需要排的元素减1 { if(arr[j]<arr[j+1]) //相邻元素比较,小于就交换位置 { tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } } void char_left(char str[],int n) { int i; int tmp = str[0]; //保存第1个元素 for(i=1;i<n;i++) { str[i-1] = str[i]; } str[n-1] = tmp; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥35 平滑拟合曲线该如何生成
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 自己瞎改改,结果现在又运行不了了
- ¥15 链式存储应该如何解决
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站