#include <stdio.h> int main(void){ int a,b,c,*p,*q,*h,*temp; scanf("%d %d %d",&a,&b,&c); p=&a;//把a的地址赋给了指针变量p q=&b;//把b的地址赋给了指针变量q h=&c;//把c的地址赋给了指针变量h if(a>b) { temp=&a;//a的地址赋给了指针变量temp p=q;//p=&b q=temp;//q=&a } if(a>c) { temp=&a;//a的地址赋给了指针变量temp p=h;//p=&c h=temp;//h=&a } if(b>c){ temp=&b; q=h;//q=&c h=temp;//h=&b } printf("%d %d %d",*p,*q,*h); return 0; }
时间: 2024-04-23 16:25:08 浏览: 47
这是一个 C 语言程序,使用了指针变量进行了三个整型变量的排序。程序首先使用 scanf 函数从标准输入读入三个整数 a、b、c,然后分别将它们的地址赋值给指针变量 p、q、h。接着程序使用 if 语句对三个数进行了排序,最后使用 printf 函数输出排序后的结果。具体排序过程为:
1. 如果 a 大于 b,就将 a 和 b 的指针变量交换;
2. 如果 a 大于 c,就将 a 和 c 的指针变量交换;
3. 如果 b 大于 c,就将 b 和 c 的指针变量交换;
最终输出的是指针变量 p、q、h 所指向的数值,也就是排序后的结果。
相关问题
#include <stdio. h> #include <time.h> /** found***********/ #include <math. h> void main () int a,b; float f ; srand(time (0)) ; a=rand() 841+10; b=rand() 841+10; /********************found****************/ f=(a-b) 1 (a+b) *b/a; /********************found***************/ f-(int) (f*10000+0.5) /10000; 1/4I 4 ENK /********************found****************/ printf ("a-sd,b=sd, f=sdn",a,b,f); getchar () ;修改这串C语言代码
好的,这段代码有一些错误,我做了一些修改,您可以参考一下:
```c
#include <stdio.h>
#include <stdlib.h> // 添加头文件,包含了rand()函数
#include <time.h>
#include <math.h>
int main() { // main函数的返回值应该是int型
int a, b;
float f;
srand(time(NULL)); // srand()函数的参数应该是NULL
a = rand() % 841 + 10; // rand()函数需要使用%运算符来取模,产生10~850之间的随机数
b = rand() % 841 + 10;
f = (float)(a - b) / (float)(a + b) * b / a; // 强制类型转换确保运算顺序正确
f -= (int)(f * 10000 + 0.5) / 10000.0; // 减号前面应该是f而不是f-
printf("a=%d, b=%d, f=%.4f\n", a, b, f); // 修正了printf函数中的错误
getchar();
return 0; // main函数需要返回0
}
```
这个程序的功能是生成两个10~850之间的随机数a和b,然后计算(f) = ((a-b)/(a+b)) * (b/a) 的值,并将结果保留四位小数输出。
#**********Program**********#include <stdio.h> int main(void)
这是一个C语言程序的基本框架,其中包含了头文件和主函数。头文件<stdio.h>是C语言的标准输入输出库,主函数int main(void)是C语言程序的入口点,程序从这里开始执行。在主函数中,可以编写程序的具体逻辑和功能实现代码。你可以在main函数中编写代码,来实现你需要的功能。例如,你可以使用printf函数输出一些信息到控制台。
阅读全文