重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
定义的input(int
宜城网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
m)
m作用的作用从代码
printf("%s输入一个二进制数:\n",m?"请":"输入有误,请重新");
中的
m?"请":"输入有误,请重新"
这个三目运算符可以看出:
当m=1时
输出:请输入一个二进制数:
m
!=1时
输出:
输入有误,请重新输入一个二进制数:
也就是为了提示用户用的!
所以
这里的
n=input(1)
的
1就是说明要求系统提示:输入有误,请重新输入一个二进制数:
问题中的代码有这么两个需要改进的地方:
1. main函数中score的定义,不能写成float score[][5]={0};,因为这样的写法二维数组score将只有1行5列,所以没法存储多个学生的4门课成绩信息,而且还需要写成 float score[A+1][N+1]; ,因为问题中的代码里面下标没有从0开始,这样就行列都需要多留一个空间了。
2. Readscore函数中,scanf里面应该使用%f,而不是%d,因为成绩数据是浮点数。这样就可以正确的读入成绩数据了
# include stdio.h
# include stdlib.h
int main()
{
void input(int *t);
int ave(int *t);
void list (int *t,int aver);
int a[80],average,*p;
p=a;
input(p);
average=ave(p);
list(p,average);
system ("PAUSE");
return 0;
}
void input(int *t)
{
int i;
printf("依次输入成绩,当输入值为0时结束:\n");
for(i=0;i80;i++)
{
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)
{
int i;
for(i=0;*(t+i)!=0;i++)
{
printf("%6d",*(t+i));
if((i+1)%5==0) printf("\n");
}
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);
printf("average score: %.4f\n",average(a));
bubble_sort(a);
put_score(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[])
{
int i = 0;
while (a[i] != -1)
{
printf("%3d",a[i]);
i++;
}
printf("\n");
}
float average(int a[])
{
int i = 0;
int sum = 0;
float aver;
while (a[i] != -1)
{
sum += a[i];
i++;
}
aver = (float)sum/(float)i;
return aver;
}
void bubble_sort(int a[])
{
int i, j, n, flag;
int temp;
i = 0;
while (a[i] != -1)
i++;
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])
{
flag = 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];
int i = 1;
for (; a[i] != -1; i++)
{
if (a[i] min)
min = a[i];
}
return min;
}
#include stdio.h
void fun(int n)
{
switch(n/10)
{
case 1:
case 2:
case 3:
case 4:
case 5:printf("成绩不及格\n");break;
case 6:printf("成绩为D等\n");break;
case 7:printf("成绩为C等\n");break;
case 8:printf("成绩为B等\n");break;
case 9:
case 10:printf("成绩为A等\n");break;
}
}
void main()
{
int n;
scanf("%d",n);
fun(n);
}