快速提问(试着看看我是否理解如何做到这一点)

时间:2017-05-07 20:57:51

标签: java c

没有找人写代码,只需要看看我是否正确理解了问题。 1.写下一个应该对学生数据起作用的程序。数据包含以下属性: - 学生姓名,学生ID,年龄,cgpa,身高和体重。请使用此程序的结构。 该程序应接受用户的输入。假设有15名学生。请假设 适当的属性数据类型。计划应具备以下内容: a)上述数据集的结构声明。 b)读取每个学生记录的用户输入的功能。 [20] c)显示记录的功能。 d)计算学生年龄,身高体重和cgpa平均值的函数。

对不起,如果它的愚蠢问题。我只是没有看到它中指定的链表,所以我不确定我是否可以使用它。但对我来说,看起来它可能假设你可以否则我不知道我会怎么做,没有像硬编码15学生结构 这只是要我制作一份学生链表?

  1. http://prntscr.com/f58mtg 对于这个问题,它是说我有一个整数的链表,我需要只使用堆栈函数(如push / pop)来排序正数以上的正数?

  2. 最后一个问题。如何在c中获得文件的大小?

  3. 非常感谢你能回复我。如果可能,这是在C中

3 个答案:

答案 0 :(得分:1)

我不知道为什么我要为你做功课。

问题1:

struct student{char name[50], int age, double cgpa, double height , double weight};
student students[15];

void readStudent(int stuNum){

    printf("enter student name\n");
    scanf(" %s", students[stuNum].name);
    printf("enter age\n");
    scanf(" %d", &students[stuNum].age);
    printf("enter current gpa\n");
    scanf(" %f", &students[stuNum].cgpa);
    printf("enter student height\n");
    scanf(" %f", &students[stuNum].height);
    printf("enter student weight\n");
    scanf(" %f", &students[stuNum].weight);
}

void displayStudent(int stuNum){

    printf("student name %s\n" , sudents[stuNum].name);
    printf("age %d\n" , sudents[stuNum].age);
    printf("current gpa %f\n" , sudents[stuNum].cgpa);
    printf("student height %f\n" , sudents[stuNum].height);
    printf("student weight %f\n" , sudents[stuNum].weight);
}

double getAgeAvg(){

    double sum=0;
    for(int i=0; i<15; i++) sum += students[i].age/15.0;
    return sum;
}

double getCgpaAvg(){

    double sum=0;
    for(int i=0; i<15; i++) sum += students[i].cgpa/15.0;
    return sum;
}

double getHeightAvg(){

    double sum=0;
    for(int i=0; i<15; i++) sum += students[i].height/15.0;
    return sum;
}

double getWeightAvg(){

    double sum=0;
    for(int i=0; i<15; i++) sum += students[i].weight/15.0;
    return sum;
}
int main(){ 

    for(int i=0; i<15; i++){

        students[i].age = 0;
        students[i].cgpa = 0;
        students[i].height = 0;
        students[i].weight = 0;
    }
}

这应该有效。

答案 1 :(得分:1)

对于问题2,我将使用java,因为我不知道 如何在c。

中使用Stacks
public void posBelowNeg(Stack<Integer> s){

    Stack<Integer> pos = new Stack<Integer>();
    Stack<Integer> neg = new Stack<Integer>();
    while(!s.isEmpty()){
        int current = s.pop();
        if(current >0) pos.push(current);
        else neg.push(current);
    }
    while(!pos.isEmpty()) s.push(pos.pop());
    while(!neg.isEmpty()) s.push(neg.pop());
    return;
}

答案 2 :(得分:1)

问题3:

我实际上用Google搜索了它,花了大约两秒钟。

#include <stdio.h>
int main(){

    FILE *file;
    file = fopen("somename.txt", "r");
    fseek(fp, 0L, SEEK_END);
    int sizeOfFile = ftell(fp);
}