定义的input(int
m)
m作用的作用从代码
printf("%s输入一个二进制数:\n",m?"请":"输入有误,请重新");
中的
m?"请":"输入有误,请重新"
这个三目运算符可以看出:
当m=1时
输出:请输入一个二进制数:
m
!=1时
输出:
输入有误,请重新输入一个二进制数:
也就是为了提示用户用的!
所以
这里的
n=input(1)
的
①.就是说明要求系统提示:输入有误,请重新输入一个二进制数:
问题中的代码有这么两个需要改进的地方:
#?include?stdio.h
#?include?stdlib.h
int?main()
{
void?input(int?*t);
int?ave(int?*t);
void?list?(int?*t,int?aver);
p=a;
input(p);
average=ave(p);
list(p,average);
system?("PAUSE");
return?0;
}
void?input(int?*t)
int?i;
printf("依次输入成绩,当输入值为0时结束:\n");
scanf("%d",t+i);
if(*(t+i)==0)?break;
int?ave(int?*t)
int?i,aver,sum=0;
for(i=0;*(t+i)!=0;i++)
sum=sum+*(t+i);
aver=sum/i;
return?aver;
void?list?(int?*t,int?aver)
printf("\n平均成绩为:%d\n",aver);
#include stdio.h
#define N 1000
void get_score(int a[]);
void put_score(int a[]);
float average(int a[]);
void bubble_sort(int a[]);
int max_score(int a[]);
int min_score(int a[]);
int main()
int a[N];
get_score(a);
put_score(a);
bubble_sort(a);
printf("max score: %d\n",max_score(a));
printf("min score: %d\n",min_score(a));
return 0;
void get_score(int a[])
int i = 0;
int x;
while (1)
scanf("%d",x);
a[i] = x;
if (x == -1) //输入为-1时标志输入结束
break;
i++;
void put_score(int a[])
while (a[i] != -1)
printf("\n");
float average(int a[])
int sum = 0;
float aver;
sum += a[i];
aver = (float)sum/(float)i;
return aver;
void bubble_sort(int a[])
int i, j, n, flag;
int temp;
i = 0;
n = i;
flag = 1;
for (i = 0; i n-1flag == 1; i++)
flag = 0;
for (j = 0; j n-i; j++)
if (a[j] a[j+1])
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
if (flag == 0)
return;
int max_score(int a[])
int max = a[0];
int i = 1;
for (; a[i] != -1; i++)
if (a[i] max)
max = a[i];
return max;
int min_score(int a[])
int min = a[0];
if (a[i] min)
min = a[i];
return min;
void fun(int n)
switch(n/10)
case 1:
case 10:printf("成绩为A等\n");break;
void main()
int n;
scanf("%d",n);
fun(n);
以上就是土嘎嘎小编为大家整理的成绩录入c语言函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!