小白求助c语言
xcode吧
全部回复
仅看楼主
level 1
才开始学c语言 想问一下这个错要怎么改? main不是我自定义的函数啊
2017年02月08日 11点02分 1
level 10
楼主搞懂了么……搞懂了我就不打了……
2017年02月14日 20点02分 2
level 10
有疑问的话直接回复吧
2017年02月14日 20点02分 3
这个问题弄明白了已经 想问一下函数调用是怎么用的 详细的我回复在下面了
2017年02月16日 03点02分
level 1
#include <stdio.h>
#include <stdlib.h>
#define ALL_NUMBER_OF_PEOPLE 2
int check(void)
{
int password;
printf("*******************\n");
printf("*请输入4位密码开始游戏*\n");
printf("*******************\n");
scanf("%d",&password);
return password;
}
int outcome(int a,int b)
{
int time=0,flat=1;
int m = 0;
while(flat)
{
scanf("%d %d",&a,&b);
if(a<10&&b<10){
m = (a + b)/ALL_NUMBER_OF_PEOPLE;
flat = 0;
}
else{
printf("输入错误\n");
time++;
}
if (time == 3)
{
printf("你输出错误三次了");
exit(0);
}
}
return m;
}
int main(){
printf("欢迎来到猜数字的游戏! 规则如下:\n");
printf("游戏需要输入两个一位数,并求平均数\n");
printf("小数部分会被省略 eg:(4+5)/2 = 4\n");
printf("那么游戏开始\n");
int password,i = 0;
do{
if (i == 3) {
printf("你输出错误3次了,游戏结束");
exit(0);
}
password = check();
i++;
}while(password != 1022);
int a,b,right = 4;
char n;
printf("是否需要自定义答案(y/n)\n");
//fflush(stdin);
scanf(" %c",&n);
switch (n)
{
case'Y':
case'y':
printf("请输入一个一位数数作为答案\n");
scanf("%d",&right);
printf("请输入两个零到九的整数\n");
scanf(" %d %d",&a,&b);
while(right != outcome(a,b)){
if(right - outcome(a,b) > 0)
{
printf("你输出的太小了\n");
}
else
{
printf("你输入的太大了\n");
}
}
break;
case'n':
case'N':
printf("请输入两个零到九的整数\n");
while(right != outcome(a,b)){
if(right > outcome(a,b))
{
printf("你输出的太小了\n");
}
else
{
printf("你输入的太大了\n");
}
break;
default:
printf("输入有误\n");
break;
}
printf("恭喜你回答正确");
}
return 0;
}
这个程序真的不知道该怎么改了 编译没错误 每次运行到 请输入两个零到九的整数 就不运行了 按什么都没反应了 同学说是函数outcome的问题 但是真的不知掉该怎么弄
2017年02月16日 03点02分 4
应该是outcome函数里面a和b变量的问题, 我按照我对你代码的理解写一个你看看吧(如果你附上题目就更方便了)
2017年02月16日 17点02分
这是我写的 贴到UbuntuPasteBin了 http://paste.ubuntu.org.cn/4241733
2017年02月16日 18点02分
@ImTyz001 看到了 谢谢大神指导 虽然还是不太明白a b变量的问题在哪[泪]
2017年02月17日 03点02分
回复 我来送祝福的 :传递给函数的参数是不能直接修改的
2017年02月17日 03点02分
level 1
2017年02月18日 08点02分 6
1