void inverse(float *p,int n)
{
float *q
p=q+n-1//这里错了哦 q没有指向任何值就使缓纤陵用了,这样写很扰戚危险
//换成q = p+n-1
float t
while(p>q)//这里错了哦 ,因为p指向数组的首元素,而q指向数组的尾元素
//所以p不可能竖姿大于q,即既不会进入循环中,执行语句
//所以应该改成p<q
{
t=*q
*q=*p
*p=t
q--
p++
}
}
void main()
{
float array[5]
int i=0
for(i=0i<5i++)
{
printf("请输入数字:")
scanf("%f",&array[i])
}
inverse(array,5)
for(i=0i<5i++)
printf("%.1f ",array[i])
}
先定义学生结构体:
struct student{
string name
string number
float c_score
}
定义学生数组:
const int stu_amount= 20//学生人数student stu[stu_amount]
for(int index =0 index <stu_amount index++)
{/*一个个录入成绩*/}
汇总所有学生的成绩和输出不及格的学生:
float sum_score//成绩汇总float pass_score=60//及格分数
printf("不及格的学生有:\n")
printf("姓名\t学号\t成绩\n")
for(int index =0 index <stu_amount index++)
{
score+=stu[index].c_score
if(stu[index].c_score<pass_score)
{
printf("%s\t%s\t%f\n",stu[index].name,stu[index].number,stu[index].c_score)
}
}
最后计算平均成绩并册闭输出:备姿搏
float avg_score=score/stu_amountprintf("平均成绩是:%f\n",avg_score)
代码没实际调试,请自行组织整理。希望对你有帮仿祥助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)