#include
int main()
{
int a[111];
int n,k=0,m,sum=0;
scanf("%d",&n);
do{
scanf("%d",&m);
a[k++]=m;
sum+=m;
}while(k for(int i=0;i printf("%d ",a[i]); printf("\n总分:%d\n平均分:%d",sum,sum/n); return 0; }
if
(x>=1
&&
x<10)
y=2*x-1;
printf("y=%d",y);
这段if中包括的只是y=2*x-1;一句而非两句话,因此要用大括号把两句话括起来
改为:
#include
void
main()
{
int
x,y;
printf("请输入一个数x:");
scanf("%d",&x);
if
(x<1)
{
y=x;
printf("y=%d",y);
}
else
{
if
(x>=1
&&
x<10)
{y=2*x-1;
printf("y=%d",y);
}
else
{y=3*x-11;
printf("y=%d",y);
}//此处错误同上
}
}
用链表
struct SD_num{int num;//数据域SD_num *next;//指针域};
给你个思路,链表的好处就是数据无限长(除非你的计算机容量都用完了)输入完成绩后做个判断,比如输入的数为负数就退出输入,上一个表尾指向空。然后直接计算。计算过程你看看其他回答应该会有的
else必须跟if配对!!
if
(x>=1
&&
x<10)
y=2*x-1;
printf("y=%d",y);
else
这里的if语句到y=2*x-1;结束,printf又是另一条语句,else无法跟if配对,如果if语句加一个大括号则可解决。
#include
void
main()
{
int
x,y;
printf("请输入一个数x:");
scanf("%d",&x);
if
(x<1)
{
y=x;
printf("y=%d",y);
}
else
{
if
(x>=1
&&
x<10)
{y=2*x-1;
/*这里加大括号*/
printf("y=%d",y);
}
/*大括号到这结束*/
else
y=3*x-11;
printf("y=%d",y);
}
}
if-else的结构:if只管后边的一条语句,如想管多条语句,需要{}刮起;if执行完一条语句【或有{}刮起的多条语句】后,else必须紧接在后!!不然就有语法错误!!