大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第一种在scanf后面应该加一个getchar
成都创新互联公司专注于企业成都全网营销推广、网站重做改版、建水网站定制设计、自适应品牌网站建设、H5场景定制、电子商务商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为建水等各大城市提供网站开发制作服务。
你为什么在第二个后面知道加第一个后面不知道加...
因为你在做scanf输入时实际上输入的是 88(成绩) 回车 来结束输入的
这个时候你把88赋值给了a但是 回车还在缓冲区里 如果你不用getchar来吸收回车那么
你第二次scanf时 由于缓冲区里面还有一个回车 所以不等你输入他就将回车赋值给了c
因此无法进行后续循环 你输入的Y/N反而是被getchar读取了
第二种问题和上面类似 在每一个scanf后面加一个getchar来吸收回车
或者使用fflush(stdin); rewind(stdin);来刷新缓冲区
然后你最后判断处出错了
if(b=='Y')
if(b=='N')break;
这里满足break的条件是先让b=Y 如果 b = Y判断成功 在判断b=N 当b=Y满足进一步要满足b=N这怎么可能能够break...
应该if(b=='Y') continue;
else if(b=='N')break;
另外我觉得这个判断有点繁琐了 你只需要判断一种就行了
只保留if(b=='N')break;就行了 当输入N时结束 其他任意输入继续 就够了
#includestdio.h
int main()
{
int nscore = 0;
scanf("%d",nscore);
if ( nscore 90 )
{
printf("成绩优!\n");
}
else if ( nscore 80 )
{
printf("成绩良!\n");
}
else if ( nscore 60 )
{
printf("成绩及格!\n");
}
else
{
printf("成绩不及格!\n");
}
return 0;
}
#include “stdio.h”
main()
{
int score;
scanf("%d",score);
if(score=90) printf("优\n");
if(score=80score=89) printf("良\n");
if(score=70score=79) printf("中\n");
if(score=60score69) printf("及格\n");
else printf("不及格\n");
}
扩展资料:
if语句:
if语句是指编程语言(包括c语言、C++、C#、java、VB、汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。if的返回值为真或假,可以用bool型变量进行存储,占用一字节。
if语句一般形式:
if(表达式)语句1
else 语句2
if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。
参考资料:百度百科-if语句
H2单元格输入公式
=if(G2=300,"优秀",if(G2=250,"及格","不及格"))
下拉填充