C语言中调用什么函数能停止输出和继续输出

C语言中调用什么函数能停止输出和继续输出

比较晚了,所以简单先看看你的问题,先回答简单的吧。
int fun(int a)
{
int b;
scanf("%d",&a);
b=a;
return b;/*把输入的a 赋值到变量b*/
}
这个函数如果执行
int x;
x=fun(11);
那么就相当于x=11
因为这个函数就是把()里面的数字传递给fun()函数
明儿再帮您慢慢看全部啊~~good night

兄弟 我帮你修改好全部程序了,我的程序如下,你先自己跑跑看看现象就明白了。
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include<conio.h>
struct gift
{

int fromnum;
int tonum;

char level[10];
char gift1[10];
};
struct gift gif[3]=,,};/* 这个结构体用输出类似表格的模式
把奖励的情况表示清楚*/
int fun(int a);
int main()
{
int b,c,d,e=0,o=0,a; int ccii;
time_t t;
struct gift *p ;/*定义指针*p方便输出结构体*/
printf("fromnum tonum level gift\n");
for(p=gif;p<gif+3;p++)
{
printf("%d %d %-10s %-10s\n",p->fromnum,p->tonum,p->level,p->gift1 );
}/*结构体的输出*/
srand((unsigned) time(&t));
printf("\n\n\n");
printf("-----------------------------------------------\n");
printf("------| 欢迎参加老虎机游戏 |-----------\n");
printf("------| 规则: |-----------\n");
printf("------| 三个数字相同则中奖 |-----------\n");
printf("------| 同为0加4个筹码 |-----------\n");
printf("------| 同为1或2加3个筹码 |-----------\n");
printf("------| 同为3或4或5加2个筹码 |-----------\n");
printf("------| 同为6或7或8或9加1个筹码 |-----------\n");
printf("------| 停止后根据以上规则 |-----------\n");
printf("------| 可以换取相应的奖品 |-----------\n");
printf("-----------------------------------------------\n");
printf("请按任意键开始: 回车键停止:\n\n");
getch();/*需要一个无输出输入直接用 getch */

do
{

do
{
printf("b=%d\t", rand() % 10);
printf("c=%d\t", rand() % 10);
printf("d=%d\r", rand() % 10);/*\r表示重头输入*/
_sleep(100); /*\作用:延时,程序暂停若干时间。   时间,就是他的参数,单位是毫秒。*/
}
while(!_kbhit());/*kbhit检查当前按下的键 */
//printf("stopping here");
//printf("%d",_kbhit());

printf("b=%d", b=rand() % 10);
printf("\tc=%d", c=rand() % 10);
printf("\td=%d\n", d=rand() % 10);/*重新输出随机变量*/
// scanf("%d",&ccii);
//exit(0);
// b=1;
// c=1;
// d=1;
if((b==c)||(b==d))
{
if(b==0)
e=e+4;
else if(b==1||b==2)
e=e+3;
else if(b==3||b==4||b==5)
e=e+2;
else if(b==6||b==7||b==8||b==9)
e=e+1;
else ;
printf("恭喜你中奖了\n\n");
printf("您的筹码总值为%d\n\n",e);
}
else
{ printf("很遗憾,没有得奖,请继续加油,下次一定会中奖\n\n");
printf("您的筹码总值为%d\n\n",e);
}
/*关于中奖的判断,以及中奖的等级的判断 */

printf("请按除0外任意数字键继续,按回车键停止。输入数字0离开游戏。\n");

}
while(o=fun(a));/*需要输入但是无法直接使用,用fun函数把输入用变量b的形式输出来*/

printf("您的筹码总值为%d\n",e);/*根据上面结构体中输出的表格可以知道兑换的产品*/
if(e<20)
printf("您得到了一个杯子\n");
else if (e<50)
printf("您得到了一个泰迪熊\n");
else
printf("您得到了一个mp4\n");
return 0;
}
int fun(int a)
{
int b;
scanf("%d",&a);
b=a;
return b;/*把输入的a 赋值到变量b*/
}

关于程序中中奖的判断条件我帮你修改了一下,现在是if((b==c)||(b==d))
也就是三个数字任意两个相同我认为就是获奖了。为什么要这么修改?那是因为你的程序要求实在十分苛刻,我自己跑了十分钟都跑不出来三个数相同的!这就是为什么老虎机是骗钱的原理了!
程序的部分语句我也做了修改,具体见上述coding
祝你跑程序愉快。

你的很多 else if 语句用的不是很好 因为else if的用法你可能没有掌握好,这些语句我都帮你修改了一下,coding中少数注释语句是我调程序时候用过的,并没有删掉,但是不影响你的运行。相反可以作为参考。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-19
输入输出函数
非格式化输入输出函数可以由上面讲述的标准格式化输入输出函数代替, 但
这些函数编译后代码少, 相对占用内存也小, 从而提高了速度, 同时使用也比较
方便。下面分别进行介绍。
一、puts()和gets()函数
1. puts()函数
puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为:
puts(s);
其中s为字符串变量(字符串数组名或字符串指针)。
puts()函数的作用与语printf(”%s\n”, s)相同。
例3:
main()
{
char s[20], *f;
strcpy(s, “Hello! Turbo C2.0″);
f=“Thank you”;
puts(s);
puts(f);
}
说明:
(1). puts()函数只能输出字符串, 不能输出数值或进行格式变换。
(2). 可以将字符串直接写入puts()函数中。如:
puts(“Hello, Turbo C2.0”);
2. gets()函数
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符
不属于这个字符串。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf(“%s”, &s)相似, 但不完全相同, 使用scanf(“%s”, &s)
函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符
串直到回车为止。
例4
main()
{
char s[20], *f;
printf(“What’s your name?\n”);
gets(s);
puts(s);
puts(“How old are you?”);
gets(f);
puts(f);
}
第2个回答  2011-07-12
(a)
scanf("%*[^\n]");
^表示"非",即读入其后面的字符就结束读入。
因此上面代码会等到输入回车键为止。如果程序里有其它输入函数,这个函数可能需要调两次。
(b)
char ch;
ch=getchar();
getchar()函数返回一个字符,接受键盘输入的字符遇到回车程序返回一个字符,然后继续执行。
第3个回答  2011-07-13
putchar
getchar
scanf本回答被提问者采纳
相似回答