使用C语言写一个abc排序输出
时间: 2023-05-31 15:02:06 浏览: 79
以下是使用C语言编写的ABC排序输出程序示例:
```c
#include <stdio.h>
int main()
{
char a, b, c;
printf("请输入三个字母,用空格分隔:\n");
scanf("%c %c %c", &a, &b, &c);
if(a > b) // 比较a和b的大小,如果a大于b,则交换它们的值
{
char temp = a;
a = b;
b = temp;
}
if(a > c) // 比较a和c的大小,如果a大于c,则交换它们的值
{
char temp = a;
a = c;
c = temp;
}
if(b > c) // 比较b和c的大小,如果b大于c,则交换它们的值
{
char temp = b;
b = c;
c = temp;
}
printf("排序后的字母为:%c %c %c\n", a, b, c);
return 0;
}
```
运行程序后,按照提示输入三个字母,程序会对这三个字母进行排序,并输出排序后的结果。例如,输入"b c a",程序会输出"a b c"。
相关问题
使用C语言写一个abc输入数字排序再输出
以下是使用C语言编写的ABC输入数字排序并输出的代码:
```c
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入三个数字,以空格隔开:\n");
scanf("%d %d %d", &a, &b, &c);
// 交换变量值,使 a<=b<=c
if (a > b) {
int temp = a;
a = b;
b = temp;
}
if (a > c) {
int temp = a;
a = c;
c = temp;
}
if (b > c) {
int temp = b;
b = c;
c = temp;
}
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
使用方法:
1. 将以上代码复制到一个新建的文件中,并将文件保存为 `sort.c`。
2. 打开终端或命令行界面,进入到 `sort.c` 文件所在的目录。
3. 输入以下命令编译代码:
```bash
gcc sort.c -o sort
```
4. 运行编译生成的可执行文件:
```bash
./sort
```
5. 在程序提示下,输入三个数字并按回车键确认即可看到排序后的结果。
c语言将一个字符串的数字字符和非数字字符排序
可以使用两个指针来实现该功能。一个指针指向字符串的开头,另一个指针指向字符串的结尾。然后分别从开头和结尾往中间遍历,将数字字符和非数字字符分别放到左右两侧。
下面是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void sort_string(char *s) {
int left = 0, right = strlen(s) - 1;
while (left < right) {
while (isdigit(s[left])) {
left++;
}
while (!isdigit(s[right])) {
right--;
}
if (left < right) {
char temp = s[left];
s[left] = s[right];
s[right] = temp;
left++;
right--;
}
}
}
int main() {
char s[] = "ab1c2d3e4f5g6";
printf("before sorting: %s\n", s);
sort_string(s);
printf("after sorting: %s\n", s);
return 0;
}
```
输出:
```
before sorting: ab1c2d3e4f5g6
after sorting: abcefg123456
```
该程序使用了 `isdigit` 函数来判断字符是否是数字字符。如果是数字字符,则将左指针往右移动;否则将右指针往左移动。如果左指针指向的字符不是数字字符,右指针指向的字符是数字字符,那么交换它们的位置。最终,左指针指向的位置就是字符串中的最后一个非数字字符,右指针指向的位置就是字符串中的第一个数字字符。