#include<stdio.h>
struct books{
char name[50];
int prices;
};
int main()
{
int i;
struct books max,min,stu;
printf("输入十本书的名称和定价:");
scanf("%s%d",&stu.name,&stu.prices);
for(i=1;i<=10;i++){
if(i==1){
max=stu;
}else if(max.prices>stu.prices){
min=stu;}
else(max.prices<stu.prices);{
max=stu; }
}
printf("输出定价最低的书的信息Min:%c----%d,定价最高的书的信息Max:%c----%d",min.name,min.prices,max.name,max.prices);
return 0;
}
修改如下,供参考:
#include<stdio.h>
struct books {
char name[50];
int prices;
};
int main()
{
int i;
struct books max,min,stu[10]; //struct books max,min,stu;修改
printf("输入十本书的名称和定价:\n");
for (i = 0; i < 10; i++) {
//for (i = 1; i <= 10; i++) {
scanf("%s %d", stu[i].name, &stu[i].prices);
//scanf("%s %d", &(stu->name), &(stu->prices));
if (i == 0) { //修改
max = stu[i];
min = stu[i];
}
else
{
if (stu[i].prices > max.prices)
{
max = stu[i];
}
if (stu[i].prices < min.prices)
{
min = stu[i];
}
}
}
printf("输出定价最低的书的信息Min:%s----%d,定价最高的书的信息Max:%s----%d",
min.name, min.prices, max.name, max.prices);
return 0;
}
不设数组的写法:
#include<stdio.h>
struct books {
char name[50];
int prices;
};
int main()
{
int i;
struct books max,min,stu;
printf("输入十本书的名称和定价:\n");
for (i = 0; i < 10; i++) {
//for (i = 1; i <= 10; i++) {
scanf("%s %d", stu.name, &stu.prices);
//scanf("%s %d", &(stu->name), &(stu->prices));
if (i == 0) {
max = stu;
min = stu;
}
else
{
if (stu.prices > max.prices)
{
max = stu;
}
if (stu.prices < min.prices)
{
min = stu;
}
}
}
printf("输出定价最低的书的信息Min:%s----%d,定价最高的书的信息Max:%s----%d",
min.name, min.prices, max.name, max.prices);
return 0;
}
#include<stdio.h>
#include<string.h>
#include<malloc.h>
struct books {
char name[50];
int prices;
};
int main()
{
int i;
struct books* max = (books*)malloc(sizeof(books));
struct books* min = (books*)malloc(sizeof(books));
struct books* stu = (books*)malloc(sizeof(books));
printf("输入十本书的名称和定价:\n");
for (i = 1; i <= 10; i++) {
scanf("%s %d", &(stu->name), &(stu->prices));
if (i == 1) {
strcpy(max->name, stu->name);
max->prices = stu->prices;
strcpy(min->name, stu->name);
min->prices = stu->prices;
}
else
{
if (stu->prices > max->prices)
{
strcpy(max->name, stu->name);
max->prices = stu->prices;
}
if (stu->prices < min->prices)
{
strcpy(min->name, stu->name);
min->prices = stu->prices;
}
}
}
printf("输出定价最低的书的信息Min:%s----%d,定价最高的书的信息Max:%s----%d", min->name, min->prices, max->name, max->prices);
return 0;
}
初始化有问题,而且结构体是不能用等号直接赋值的,我给你改完了,就在你源代码的基础上,运行结果也贴出来了,你可以看一下