| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 527 人关注过本帖
标题:都来看看这个c语言的代码
只看楼主 加入收藏
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
结帖率:73.96%
收藏
已结贴  问题点数:10 回复次数:9 
都来看看这个c语言的代码
#include <stdio.h>
main()
{
  struct book
  {
      char no[10];
      int x[10];
  };
  struct book *p;
  int i,j,k,tmp;
  int exchange;
  for(i=0;i<10;i++)
     {scanf("%s,%d",p->no[i],p->x[i]);
    printf("\n");}
  for(j=0;j<9;j++)
  {
    exchange=0;
    for(k=j+1;k<9;k++)
      if((p->x[k])<(p->x[k]))
      {
tmp=p->x[k];
p->x[k]=p->x[k];
p->x[k]=tmp;
exchange=1;
      }
      if(!exchange)
return;
  }
  printf("%s,%d\n",p->no[0],p->x[0]);
  printf("%s,%d\n",p->no[9],p->x[9]);
}
本人运行出现警告   题目要求 从键盘上输入10本书的名字和价格并存在一个结构体数组中 从中查找定价最高和最低的书的名字和价格 输出
搜索更多相关主题的帖子: c语言 代码 
2010-03-22 23:09
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:3 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
    struct book
    {
        char no[10][10];
        int x[10];
    };
    struct book *p = (struct book *)malloc(sizeof(struct book)); //要有空间了才能操作
    int i,j,k,tmp;
    int exchange;
    char str[10];
    for(i=0;i<10;i++)
    {
        scanf("%s%d",p->no[i],&p->x[i]);//去掉了%s%d之间的逗号,注意输入的字符个数,不要越界
    }
    for(j=0;j<10;j++) //冒泡排序
    {
        for(k=j+1;k<10;k++)
            if((p->x[j])<(p->x[k]))
            {
                tmp=p->x[k];
                p->x[k]=p->x[j];
                p->x[j]=tmp;
                strcpy(str, p->no[k]);   //名字也要相应替换
                strcpy(p->no[k], p->no[j]);
                strcpy(p->no[j], str);
            }
    }
    printf("%s,%d\n",p->no[0],p->x[0]);
    printf("%s,%d\n",p->no[9],p->x[9]);
    free(p);//释放申请的堆空间,养成良好的编程习惯
}
2010-03-22 23:47
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
收藏
得分:3 
#include <stdio.h>
struct book
{
    char no[10];
    int x[10];
}t;
void main()
{
    struct book *p=&t;
    int i,j,k,tmp;
    int exchange;
    for(i=0;i<10;i++)
    {
      scanf("%d%d",p->no,p->x);
      getchar();
      printf("\n");
    }
    for(j=0;j<9;j++)
    {
        exchange=0;
        for(k=j+1;k<9;k++)
            if((p->x[k])<(p->x[k]))
            {
                tmp=p->x[k];
                p->x[k]=p->x[k];
                p->x[k]=tmp;
                exchange=1;
            }
            
    }
    printf("%d,%d\n",p->no[0],p->x[0]);
    printf("%d,%d\n",p->no[9],p->x[9]);
}
2010-03-23 00:13
hziee
Rank: 4
等 级:业余侠客
帖 子:64
专家分:257
注 册:2010-3-12
收藏
得分:3 
错误的地方很多,帮你重新修改了下:注意红色字体。
#include <stdio.h>
int main()
{
  struct book
  {
      
char no[10][20];
      int x[10];
  };
  struct book book1;
  struct book *p=&book1;

  int i,max,min;
  for(i=0;i<10;i++)
    {scanf("%s%d",p->no[i],&p->x[i]);}
     
  min=p->x[0];
  max=p->x[0];
  for(i=0;i<9;i++)
     {if(min>(p->x[i+1]))min=p->x[i+1];}
  for(i=0;i<9;i++)
     {if(max<(p->x[i+1]))max=p->x[i+1];}
  printf("价格最低书的名字和价格\n");
  for(i=0;i<10;i++)
        { if(p->x[i]==min)printf("名字%s 价格:%d\n",p->no[i],p->x[i]);
        }
  printf("价格最高书的名字和价格\n");
  for(i=0;i<10;i++)
        { if(p->x[i]==max)printf("名字%s 价格:%d\n",p->no[i],p->x[i]);
        }
 return 0;
}




[ 本帖最后由 hziee 于 2010-3-23 00:52 编辑 ]
2010-03-23 00:46
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
这里scanf("%s%d",p->no[i],&p->x[i]);  为什么输入no不要&   而输入x就要&

Discuz!  
好好学习  天天向上
2010-03-23 08:12
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
scanf("%s%d",
前者字符串 后者整型
2010-03-23 08:58
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
o   知道了

Discuz!  
好好学习  天天向上
2010-03-23 09:29
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:1 
回复 5楼 qq8801103
不是字符串和整型的原因,这个说法不对,scanf后面的参数传的是地址,只要地址合法,都可以成功按照第一个参数的格式输入东西
a[i][j]中a[i]表示第i行(从0开始算)的首地址
a[i] 中 &a[i]表示 a[i]的地址
2010-03-23 09:41
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
哦 知道了

Discuz!  
好好学习  天天向上
2010-03-23 10:05
地狱无明火
Rank: 2
等 级:论坛游民
帖 子:62
专家分:71
注 册:2009-6-11
收藏
得分:0 
整型x数组是一维
字串no是二维
2010-03-23 10:24
快速回复:都来看看这个c语言的代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020639 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved