大家帮我看看是哪里的问题?结果就是出不来。。。崩溃了

feibeyond 2012-07-06 02:33:35

#include <stdio.h>
#include <iostream>
using namespace std;


void main()
{
double a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a>=b)
if(a>=c)
{
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else
{
a=c;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else if(b>=c)
{
a=b;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else
{
a=c;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}


system("pause");

return;
}
...全文
103 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lenovosl410k 2012-07-06
  • 打赏
  • 举报
回复
#include <stdio.h>
#include<windows.h>



void main()
{
double a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a>=b)
if(a>=c)
{
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else
{
a=c;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else if(b>=c)
{
a=b;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else
{
a=c;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}


system("pause");

return;
}

阿佳夕 2012-07-06
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <iostream>
#include <stdlib.h> //system(pause)好像需要这个头文件
using namespace std;


void main()
{
double a,b,c;
scanf("%f%f%f",&a,&b,&c);这个呢f改成lf
if(a>=b)
{//这里建议加一个大括号
if(a>=c)
{
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
}
else
{
a=c;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else if(b>=c)
{
a=b;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}
else
{
a=c;
if(a>0&&a<=0.3)
printf("一般\n");
else if(a==0.5||a==0.4)
printf("良好\n");
else if(a>=0.6&&a<=1)
printf("优秀\n");
}


system("pause");

return;
}

逻辑什么的没有细看,这么简单的逻辑应该不会有问题吧,哈哈。
赵4老师 2012-07-06
  • 打赏
  • 举报
回复
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
luoyingbinfeng 2012-07-06
  • 打赏
  • 举报
回复
问题就在于单双精度,呵呵! scanf("%f%f%f",&a,&b,&c);
IVERS0N 2012-07-06
  • 打赏
  • 举报
回复

scanf("%lf%lf%lf",&a,&b,&c);
OgreHLanq 2012-07-06
  • 打赏
  • 举报
回复
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);

printf中double和float都可以用“%f”
scanf中double要用“%lf”

70,022

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧