user-0 提问: 数组解决问题，求大佬帮忙，急急急！

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 引用 7 楼 m0_56240570 的回复:[quote=引用 5 楼 自信男孩的回复:]贴源码吧，数组其实就是一段连续的内存；用malloc/calloc等申请的空间一样可以作为数组使用。 刚学，不太懂怎么写，可以具体一点吗？[/quote] 先自己试着写写，这样的例子我想书本上也是有的。给你写好，调好，那么你能学到什么？稍微修改一下需求，一样还是不会，自己要试着练练～

user: user-3
content: 重新排版下，数组数量设为题目要求的10个：//产品销售记录包括 产品代码 名称 单价 数量 金额 等信息 //1）编写input函数 输入10个产品销售记录的如上信息 //2）编写sum函数 计算金额 = 单价 * 数量 //3）编写sort函数 按金额从大到小排序  #include<stdio.h> #define PRODUCTS 10 //按题目要求10个产品  void  input(); float sum(float a,int n); void  sort();   typedef struct{ //自定义结构体类型 	int   code; 	char  name[21]; 	float price; 	int   quantity; }PRODUCT;  PRODUCT products[PRODUCTS];//定义10个产品记录的数组  void main() {       input(); //输入       sort();  //排序,从大到小       for(int i = 0; i < PRODUCTS; i++){ //打印输出        printf("code = %d | quantity = %d | price = %.2f | name = %s | sum = %.2f\n",              products[i].code,products[i].quantity,products[i].price,products[i].name,              sum(products[i].price,products[i].quantity));       }        }  void input(){      printf("Enter example:code,quantity,price,name(30)\n");      for(int i = 0; i < PRODUCTS; i++){         scanf("%d %d %f %s", &products[i].code,&products[i].quantity,                                    &products[i].price,products[i].name); 	} }  float sum(float a,int n) {      return a * n; }  void sort(){       PRODUCT temp;       for (int i = 0; i <PRODUCTS -1 ;i++){          for (int k = 0; k < PRODUCTS - 1 -i ;k++){            if((products[k].price * products[k].quantity)<                                   (products[k+1].price * products[k+1].quantity))            {                  temp          = products[k];                  products[k]   = products[k+1];                  products[k+1] = temp;            }          }       } }   //Enter example:code,quantity,price,name(30) //11 20 2.00 aa //22 30 1.00 bb //33 10 3.00 cc //code = 11 | quantity = 20 | price = 2.00 | name = aa | sum = 40.00 //code = 22 | quantity = 30 | price = 1.00 | name = bb | sum = 30.00 //code = 33 | quantity = 10 | price = 3.00 | name = cc | sum = 30.00 //请按任意键继续. . .

user: user-3
content: 改好，供参考：//产品销售记录包括 产品代码 名称 单价 数量 金额 等信息 //1）编写input函数 输入10个产品销售记录的如上信息 //2）编写sum函数 计算金额 = 单价 * 数量 //3）编写sort函数 按金额从大到小排序  #include<stdio.h> #define PRODUCTS 3  void input(); float sum(float a,int n); void sort();   typedef struct{ //自定义结构体类型 	int code; 	char name[21]; 	float price; 	int quantity; }PRODUCT;  PRODUCT products[PRODUCTS];  void main() { 	input(); //输入 	sort();  //排序,从大到小         for(int i = 0; i < PRODUCTS; i++){ //打印输出            printf("code = %d | quantity = %d | price = %.2f | name = %s | sum = %.2f\n",products[i].code,            products[i].quantity,products[i].price,products[i].name,sum(products[i].price,products[i].quantity)); 	}         system("pause"); }  void input(){         printf("Enter example:code,quantity,price,name(30)\n"); 	for(int i = 0; i < PRODUCTS; i++){ 		scanf("%d %d %f %s", &products[i].code,&products[i].quantity,                                          &products[i].price,products[i].name); 	} }  float sum(float a,int n) { 	return a * n; }  void sort(){ 	PRODUCT temp; 	for (int i = 0; i <PRODUCTS -1 ;i++){             for (int k = 0; k < PRODUCTS - 1 -i ;k++){                  if( (products[k].price * products[k].quantity) < products[k+1].price * products[k+1].quantity){ 				temp          = products[k]; 				products[k]   = products[k+1]; 				products[k+1] = temp; 			} 		} 	} }   //Enter example:code,quantity,price,name(30) //11 20 2.00 aa //22 30 1.00 bb //33 10 3.00 cc //code = 11 | quantity = 20 | price = 2.00 | name = aa | sum = 40.00 //code = 22 | quantity = 30 | price = 1.00 | name = bb | sum = 30.00 //code = 33 | quantity = 10 | price = 3.00 | name = cc | sum = 30.00 //请按任意键继续. . .：

user: user-0
content: 引用 5 楼 自信男孩的回复:贴源码吧，数组其实就是一段连续的内存；用malloc/calloc等申请的空间一样可以作为数组使用。 刚学，不太懂怎么写，可以具体一点吗？

user: user-0
content: 引用 3 楼 user-3的回复:是数组呀，结构体数组products[PRODUCTS]：#define PRODUCTS 3//数组的大小，这里预设为3  //函数原型 void input(); float sum(); void sort(); 	 //自定义结构体类型 typedef struct{ 	int code;    //产品代码 	char name[21];//产品名称 	float price;   //产品价格 	int quantity; //产品数量 }PRODUCT;  PRODUCT products[PRODUCTS],*p_product = products;//这里定义了一个结构体数组products[3],一个指向数组的指针p_product   后边是指针，需要用数组写

user: user-2
content: 贴源码吧，数组其实就是一段连续的内存；用malloc/calloc等申请的空间一样可以作为数组使用。

user: user-0
content: 引用 3 楼 user-3的回复:是数组呀，结构体数组products[PRODUCTS]：#define PRODUCTS 3//数组的大小，这里预设为3  //函数原型 void input(); float sum(); void sort(); 	 //自定义结构体类型 typedef struct{ 	int code;    //产品代码 	char name[21];//产品名称 	float price;   //产品价格 	int quantity; //产品数量 }PRODUCT;  PRODUCT products[PRODUCTS],*p_product = products;//这里定义了一个结构体数组products[3],一个指向数组的指针p_product   下面是指针啊，后边怎么写啊

user: user-3
content: 是数组呀，结构体数组products[PRODUCTS]：#define PRODUCTS 3//数组的大小，这里预设为3  //函数原型 void input(); float sum(); void sort(); 	 //自定义结构体类型 typedef struct{ 	int code;    //产品代码 	char name[21];//产品名称 	float price;   //产品价格 	int quantity; //产品数量 }PRODUCT;  PRODUCT products[PRODUCTS],*p_product = products;//这里定义了一个结构体数组products[3],一个指向数组的指针p_product

user: user-0
content: 引用 1 楼 user-3的回复:供参考：https://blog.csdn.net/weixin_43933620/article/details/99826947?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%BA%A7%E5%93%81%E9%94%80%E5%94%AE%E8%AE%B0%E5%BD%95&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-99826947.first_rank_v2_pc_rank_v29 需要数组解决

user: user-3
content: 供参考：https://blog.csdn.net/weixin_43933620/article/details/99826947?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%BA%A7%E5%93%81%E9%94%80%E5%94%AE%E8%AE%B0%E5%BD%95&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-99826947.first_rank_v2_pc_rank_v29