C语言—— 菜鸟求助!!!!!!!!!!!!!!
#include<stdio.h>
main()
{
int pass=0,fail=0;
int n,i,term,score;
printf("please enter the students number");
scanf("%/d",&n);
printf("please enter the score");
for(i=0;i<n;i++)
{
scanf("%d",&score);
if(score=-1)
{
break;
}
term=term+score;
}
if(score>=60)
{
pass++;
}
else
{
fail++;
}
printf("%d,%d,%d",pass,fail,term/n);
}
编译的时候不问题,运行的时候出现“error C2059: syntax error : '}'
执行 cl.exe 时出错.
[解决办法]
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int main()
{
int pass=0,fail=0;
int n,i,term,score;
term = 0; //初始化
printf("please enter the students number:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("please enter the score:\n");
scanf("%d",&score);
if( score == -1 ) //如果怕写错可以写成if(-1 == score)
{
break;
}
term=term+score;
if(score>=60)
{
pass++;
}
else
{
fail++;
}
printf("%d,%d,%d",pass,fail,term/n);
}
system("pause");
return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int main()
{
int pass=0,fail=0;
int n,i,term,score;
term = 0; //初始化
printf("please enter the students number:\n");
scanf("%d",&n);
printf("Students[%d]\n",n);
for(i=0;i<n;i++)
{
printf("please enter the score:\n");
fflush(stdin); //清空输入流
scanf("%d",&score);
if( score == -1 ) //如果怕写错可以写成if(-1 == score)
{
break;
}
term=term+score;
if(score>=60)
{
pass++;
}
else
{
fail++;
}
}
printf("pass[%d],fail[%d],avg[%d]\n",pass,fail,term/n);
system("pause");
return 0;
}

#include<stdio.h>
main()
{
int pass=0,fail=0;
int n,i,term,score; //首先这个地方的term 你一定要给一个初值,你后面再用时系统都不知道他的初值 term=0;
printf("please enter the students number");
scanf("%/d",&n); //这里应该是 scanf("%d",&n); 中间多个斜杠
printf("please enter the score");
for(i=0;i<n;i++)
{
scanf("%d",&score);
if(score=-1) //这里的判定条件因该是 score==-1!! 两个等号,不然就是直接赋值了!
{
break;
}
term=term+score;
}
if(score>=60) //按照你的题意,应该将if和else放在循环里面!
{
pass++;
}
else
{
fail++;
}
printf("%d,%d,%d",pass,fail,term/n);
}
pass++;
}
else
{
fail++;
}
term=term+score;
}
printf("pass:%d\n,fail:%d\n,averge:%d\n",pass,fail,term/n);
while (1);
}
[解决办法]
楼主的代码让人抓狂,建义不要写这样的格式成长。不然别人会找你要精神损失费的。要养成了的风格。
[解决办法]
这改了么 ··改了又把新错误改出来了
main()
{
int pass=0,fail=0;
int n,i,term=0,score;
printf("please enter the students number");
scanf("%d",n); //原来你这里都是&n 改了 你就把&吃了,怎么运行的了!
printf("please enter the score");
for(i=0;i<n;i++)
{
scanf("%d",&score);
if(score==-1)
{
break;
}
term=term+score;
if(score>=60)
{
pass++;
}
else
{
fail++;
}
printf("%d,%d,%d",pass,fail,term/n); //你这个输出应该总的一个输出吧? 应该放在循环外,按照题意, 看来不美怎么把循环弄懂还是怎么的兄弟,这个放在循环外,再试试
}
}