标题:1、现在有10名学生的信息存在一个数组中,每个学生的信息包含学号(int), ...
只看楼主
q2563371439
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-3-21
 问题点数:0 回复次数:0 
1、现在有10名学生的信息存在一个数组中,每个学生的信息包含学号(int),成绩(float);请利用栈将这组学生的信息逆置。
1、现在有10名学生的信息存在一个数组中,每个学生的信息包含学号(int),成绩(float);请利用栈将这组学生的信息逆置。
#include <stdio.h>
#define maxlen 20
typedef float datatype;
typedef struct{
    datatype data[maxlen];
    int top;
}Seqstack;
 void initstack(Seqstack *s)
 {
 s->top=-1;
 return ;
 }
 int emptystack(Seqstack *s)
 {
     return (s->top==-1);
 }
int push (Seqstack *s,datatype x)
{
    if(s->top==maxlen-1)
    {
        printf("无法入栈\n");
        return 0;
    }
    s->top++;
    s->data[s->top]=x;
    return 1;
}
int pop(Seqstack *s,datatype *x,datatype *y)
{
   if (emptystack(s))
   {
       printf("栈空,无法出栈\n");
       return 0;
   }
   *x=s->data[s->top];
   s->top--;
   return 1;
}
void inversion (int x[10],float y[10])
 {
     Seqstack z;
     int i;
     initstack(&z);
     for (i=0;i<10;i++)
     {
         push(&z,x[i]);
         push(&z,y[i]);
     }
      for (i=0;i<10;i++)
     {
         pop(&z,&x[i],&y[i]);
     }
     return ;

 }
  int main()
  {  int i;
     int a[10];
    float b[10];
    for (i=0;i<10;i++)
    {
    scanf("%d",&a[i]);
    }
     for (i=0;i<10;i++)
    {
    scanf("%f",&b[i]);
    }
    for(i=0;i<10;i++)
    {
        printf("学号是%d,成绩是%.2f\n",a[i],b[i]);
    }
    inversion (a,b);
    //inversion (b);
    for(i=0;i<10;i++)
    {
        printf("学号是%d,成绩是%.2f\n",a[i],b[i]);
    }
    return 0;
  }
求助,不会
搜索更多相关主题的帖子: int 信息 float 学生 return 
2021-03-21 17:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505201-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.342759 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved