以下程序中函数代码的功能是将三个实在参数从小到大排序。请补充代码。\n#include<stdio.h>\nvoid sort(int *pa,int *pb,int *pc){ //排序
时间: 2023-05-04 22:01:36 浏览: 164
该程序中的函数是将三个参数从小到大排列。以下是补充代码:
#include <stdio.h>
void sort(int *pa, int *pb, int *pc) {
int tmp;
if (*pa > *pb) {
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
if (*pb > *pc) {
tmp = *pb;
*pb = *pc;
*pc = tmp;
}
if (*pa > *pb) {
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
}
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
注:该程序中使用指针参数,可以直接修改原来参数的值,没有返回值。
相关问题
以下程序中函数代码的功能是将三个实在参数从小到大排序。请补充代码。 #include<stdio.h> void sort(int *pa,int *pb,int *pc){ //排序 //请在此补充你的代码 } int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); sort(&a,&b,&c); printf("%d %d %d",a,b,c); return 0; }c语言实现
以下是将三个实参从小到大排序的函数代码:
```c
void sort(int *pa, int *pb, int *pc) {
int temp;
if (*pa > *pb) {
temp = *pa;
*pa = *pb;
*pb = temp;
}
if (*pa > *pc) {
temp = *pa;
*pa = *pc;
*pc = temp;
}
if (*pb > *pc) {
temp = *pb;
*pb = *pc;
*pc = temp;
}
}
```
其中,`*pa`、`*pb`、`*pc` 分别表示三个实参的值,使用指针传递参数。首先比较 `*pa` 和 `*pb`,如果 `*pa` 大于 `*pb`,则交换它们的值;再比较 `*pa` 和 `*pc`,如果 `*pa` 大于 `*pc`,则交换它们的值;最后比较 `*pb` 和 `*pc`,如果 `*pb` 大于 `*pc`,则交换它们的值。这样就可以将三个实参从小到大排序。
本题将5个字符串从小到大排序后输出(用指针数组实现)。 函数接口定义: void fsort(char *color[ ], int n); 其中 color为指针数组首地址,n是字符串个数。 裁判测试程序样例: #include <stdio.h> #include <string.h> void fsort(char *color[ ], int n); int main(void ) { int i; char *pcolor[ ] = {"red", "blue", "yellow", "green", "black"}; void fsort(char *color[ ], int n); fsort(pcolor, 5); /* 调用函数 */ for(i = 0; i < 5; i++) printf("%s ", pcolor[i]); printf("\n"); return 0; } /* 请在这里填写答案 */
题目要求用指针数组实现将5个字符串从小到大排序后输出。具体实现需要定义一个函数,函数的接口定义为:void fsort(char *color[ ], int n),其中color为字符串指针数组首地址,n是字符串个数。
下面是具体的裁判测试程序样例:
阅读全文