一道c语言问题

发表时间: 2011/5/25 22:44:07 作者: 许家祥 阅读:2184 回复:3 编辑  删除
运算不出来, 

#include <stdio.h>

#include <string.h>

void main()

{

       int i,max,min;

      

       struct book

       {

              char name[10];

              float prince;

       }b[10];

       for (i=0;i<10;i++)

       {

              printf("请输入第%d本书有关信息\n",i+1);

              printf("书名:");

              scanf("%s",b[i].name);

              printf("价格:");

              scanf("%f",&b[i].prince);

       }

       struct book *pb;

       max=b[0].prince;

       min=b[0].prince;

       for (i=1;i<10;i++)

       {

              if(b[i].prince>max)

                 max=b[i].prince;

               

              if(b[i].prince<min)

                 min=b[i].prince;

               

       }

       printf("价格:%f\n",max);

       printf("价格:%f\n",min);

}
比较大小没用

回复

快速返回

re: 一道c语言问题

张晨2011/5/26 11:25:31 [ 删除 ]
呵呵,几百年没有弄电脑了,说的也许不对,c貌似和c++不太一样哇,那个,我觉得你的程序 
for (i=1;i<10;i++)

       {

              if(b[i].prince>max)

                 max=b[i].prince;

               

              if(b[i].prince<min)

                 min=b[i].prince

这个地方的问题很大的,你仔细想想,max 和 min 其实并不是在每次都被比较到了,你的两个if,在运行的时候只能有一个成功实现吧,这样这个循环就是彻底不对了

你参考一下吧

叶飞2011/5/28 21:58:03 [ 删除 ]

# include <stdio.h>

# include <string.h>

struct      book

{

       char name[10];

       int    price;

}b[10];

void main()

{

       int i=0,t=1000,n;

       for(n=0;n<10;n++)

       {

              printf("请输入第%d本书的信息:\n",n+1);

              printf("名字:");

              gets(b[n].name);

              printf("定价:");

              scanf("%d",&b[n].price);

              getchar();

       }

       for(n=0;n<10;n++)

       {

              if(b[n].price>b[i].price)

                     i=n;

       }

       printf("定价最高的是%s      %d\n",b[i].name     ,b[i].price);

       for(n=0;n<10;n++)

       {

              if(b[n].price<b[i].price)

                     i=n;

       }

              printf("定价最低的是%s      %d\n",b[i].name,b[i].price);  

      

}

达不到目的

田耀祖2014/1/22 12:47:37 [ 删除 ]
计算t=1+1/2+1/3+...+1/n

#include<stdio.h>
int main()
{int b=2,sum=1,n;
scanf("%d",&n);
while(b<=n)
{sum=sum+1/b;
b++;}
printf("%d\n",sum);
}
哪位大神指点迷津,小弟感激不尽

标题 (可以为空)
姓名*  
内容
 
验证码 验证码(看不清楚?请点击刷新验证码)
  登录