c语言运行之后只执行一次后按enter之后就是空白,还不会退出。小弟新手,谢谢帮忙

#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int count=0,data1,data2,op,shuru;

srand((unsigned)time(NULL));

while(count<10)
{
data1=rand()%11;
data2=rand()%11;
op=rand()%4+1;

while(op==2&&data1-data2<0)
{

data1=rand()%11;
data2=rand()%11;

}
while(op==4&&(data2==0||(data1%data2)!=0))
{

data1=rand()%11;
data2=rand()%11;

}

if(op==1)
{
printf("%d+%d=",data1,data2);
scanf("%d\n",&shuru);

}

else if(op==2)
{
printf("%d-%d=",data1,data2);
scanf("%d\n",&shuru);

}

else if(op==3)
{
printf("%d*%d=",data1,data2);
scanf("%d\n",&shuru);

}
else
{
printf("%d/%d=",data1,data2);
scanf("%d\n",&shuru);

}

count++;

}

return 0;
}

你要把scanf语句中的\n都删掉 就可以了
scanf在你按下回车之后 结束输入
然后你在sacnf的字符串参数里面写\n 这个\n会和你敲击的回车匹配
然后你的scanf就找不到回车 无法结束输入
温馨提示:内容为网友见解,仅供参考
无其他回答

...之后就是空白,还不会退出。小弟新手,谢谢帮忙
你要把scanf语句中的\\n都删掉 就可以了 scanf在你按下回车之后 结束输入 然后你在sacnf的字符串参数里面写\\n 这个\\n会和你敲击的回车匹配 然后你的scanf就找不到回车 无法结束输入

用C语言完成编程后,按运行,为什么弹出的黑屏一闪就不见了?
因为黑屏是输出结果和输入数据用的.当输出结束和没有输入时就自动关闭了.如果想要看结果的话,可以按Ctrl+F5或者在程序尾加上getch()即可.其实在程序中经常放一些getch()可有很好的效果.

单片机C语言怎么使主函数中的某句话只运行一次,下次断电后不运行
如果单片机有EEPROM的话是可以实现的,或者有扩展的存储介质,上电后先读取一些运行参数,就可以达到这个目的。总之一定要有一些记忆的东东才可以。

C语言 为什么scanf只执行一次就结束了
好几年了可还行,我刚才也查了,第一个是一个开发者论坛,上面说了,主要是scanf语句会读取“enter”这个玩意,不符合格式,于是缓冲区,停止读取。大概是这个意思。可以后面加个getchar()处理

C语言FOR错误执行一次就结束了。帮忙看看把
二楼是正解。for (i=1;i<=5;i=i++);后面多了个“;”,循环里面其实是空语句,下来执行的是打印语句,所以只出现一次aaa。要细心啊,兄弟。

c++代码问题~为什么只会执行一次
&a);就行了。"%c"把回车('\\n')也是当作字符的。它只接收一个字符,而你键入字符后必须有个回车才能生效,这个回车被留在缓冲区,被第二个scanf接收了,你没看见黑框框中的最后一个F:\\>前空了一行吗?那就是第二个scanf接收的回车。在%前加一个空格后,这个空格会键入的那个回车吸收掉……...

C语言调用多个cmd命令,在执行第一个后按回车直接退出了,可是还有很多的...
你要写成循环接受命令的样子,你现在写的代码是等待输入,判断之后就直接退出了。

程序设计中的指令是什么?有哪几种?
电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它...

这个C语言的运行结果为什么是这样的呢~
3、在用"%c"输入时,空格和“转义字符”均作为有效字符。例:scanf("%c%c%c",&c1,&c2,&c3);输入:a□b□c↙结果:a→c1,□→c2,b→c3 (其余被丢弃)scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。 ① 遇空格...

C语言 getchar()原理及易错点解析
解决使用getchar()清除缓存问题:如果在第一次输入ab后加一个空格再回车,程序只输出了ab后自动退出,原因是第一次输入后的缓存中保存了ab后面的一个空格,使得程序误以为已经完成了输入。解决方法是运行两次getchar();,清除掉第三格中的空格键和第四格中的回车键,即可正常进行下一次输入。解决多个...

相似回答
大家正在搜