① 这是c语言编译的一个成绩筛选程序,为什么最后输出是0怎么改呢
你的Input函数有问题啊
你只判断了max<score的情况,当你的score小于0的时候,没有处理,而且也没有返回
上面估计默认就当你返回0了,因此你最后的时候y=0,而且max是个局部变量,你每次比较x都是与0比较,并没有起到每次获取大值的目的。
main函数中,你应该先判断x是否小于0,然后调用Input
Input可以这样用:
y=y>Input(x)?y:Input(x);
其实不都不用使用Input函数,直接在main中就能实现
intmain()
{
intx,y;
printf("pleaseinputscores(-1tobreak):");
y=0;
for(;;)
{
scanf("%d",&x);
if(x<0)
break;
y=y>x?y:x;
printf("%d已键入",x);
}
printf("最高成绩为%d",y);
}
② c语言编程的程序为什么无法运行,一直提示源文件未编译
1、源文件必须先编译生成可执行文件后才能运行。
2、对于Dev-C++,编译和运行都可以在顶部的运行菜单内找到。先选择”编译“(快捷键Ctrl+F9),然后再选择”运行“(快捷键Ctrl+F10);或者,直接选择“编译运行”(快捷键F9)将两步合并操作。
③ C语言中编译正确,但是运行结果显示全是0,怎么回事啊
a=1/2×b×n,这个表达式是有问题的,1÷2求商的话,他永远等于零,所以你的结果不管输入什么都是为零的。