求C语言大佬看一下,我有点疑问
#include<stdio.h>#include<string.h>voidmain(){inta[5],i;printf("请输入学生成绩:");for(i=0;i<...
#include<stdio.h>
#include<string.h>
void main()
{ int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);
fun(a);
}
int fun(int d[])
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/4;
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}printf("%d",c);
}#include<stdio.h>
#include<string.h>
void main()
{ int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);//就是这里
fun(a);
}
int fun(int d[])
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/4;
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}printf("%d",c);
}
请问为什么我用(输入-回车)*5和输入*5-回车两种方式都可以得到结果呢,从程序上看第二种方式是错的啊?
#include<stdio.h>
#include<string.h>
void main()
{ int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);这里这里
fun(a);
}
int fun(int d[])
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/4;
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}printf("%d",c);
}
上面打了两遍,怕大佬看不舒服,这是我的程序。还是那个问题,为什么两种方式都可以得到结果呢?我用的VC++ 展开
#include<string.h>
void main()
{ int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);
fun(a);
}
int fun(int d[])
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/4;
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}printf("%d",c);
}#include<stdio.h>
#include<string.h>
void main()
{ int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);//就是这里
fun(a);
}
int fun(int d[])
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/4;
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}printf("%d",c);
}
请问为什么我用(输入-回车)*5和输入*5-回车两种方式都可以得到结果呢,从程序上看第二种方式是错的啊?
#include<stdio.h>
#include<string.h>
void main()
{ int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);这里这里
fun(a);
}
int fun(int d[])
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/4;
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}printf("%d",c);
}
上面打了两遍,怕大佬看不舒服,这是我的程序。还是那个问题,为什么两种方式都可以得到结果呢?我用的VC++ 展开
1个回答
展开全部
五个学生成绩连续分开输入,再按回车键,for循环里的scanf()函数会依次读取缓冲区里的数据。
程序纠错:
#include<stdio.h>
#include<string.h>
fun(int []); //纠错一:声明函数原型
void main()
{
int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);
fun(a);
}
fun(int d[]) // 纠错二:函数无返回值,不应该有 int
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/5; //纠错三:五个值应除五
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}
printf("%d",c);
}
程序纠错:
#include<stdio.h>
#include<string.h>
fun(int []); //纠错一:声明函数原型
void main()
{
int a[5],i;
printf("请输入学生成绩:");
for(i=0;i<=4;i++)
scanf("%d",&a[i]);
fun(a);
}
fun(int d[]) // 纠错二:函数无返回值,不应该有 int
{
int sum=0,c=0,ave,i;
for(i=0;i<=4;i++)
sum=sum+d[i];
ave=sum/5; //纠错三:五个值应除五
for(i=0;i<=4;i++)
{
if(d[i]>ave)
c=c+1;
}
printf("%d",c);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询