c语言-一个C语言初学者的疑问

问题描述

一个C语言初学者的疑问

我是一个初学者,希望各位大神能帮我看看这串代码错在哪了,我用的IDE是VS2013,编写C语言代码,拜托了
#include
#define N 3
struct Student
{
int num;
char name[20];
float score[3];
float aver;
};

int main()
{
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
struct Student stu[N],*p=stu;
input(p);
print(max(p));
return 0;
}

void input(struct Student stu[])
{
int i;
printf("请输入各学生的信息:学号,姓名,三门课成绩:n");
for (i = 0; i < N; i++)
{
scanf("%d %s %f %f %f", &stu[i].num, stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
stu[i].aver = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2])/3.0;

}

}

struct Student max(struct Student stu[])
{
int i, m = 0;
for (i = 0; i
if (stu[i].aver > stu[m].aver) m = i;
return stu[m];

}

void print(struct Student stud)
{
printf("n成绩最高的学生是;n");
printf("学号:%dn姓名;%sn三门课成绩:%5.1f,%5.1f,%5.1fn平均成绩:%6.2fn", stud.num, stud.name, stud.score[0], stud.score[1], stud.score[2], stud.aver);
}

解决方案

代码错得太多了,参数中不要struct
函数原型定义不要放在main里面
函数的形参实参类型也不匹配
根本就是完全没概念,难道你的编程是和体育老师学的?

解决方案二:

写"#include "你是想引入头文件吗?这里的头文件好像缺一点.你可以尝试以下"#include "

解决方案三:

#include ,你都没有引用这个头文件吧。。。

解决方案四:

如果你要是c++编程,那么就需要引入,也就是说你的第一行需要改成“#include ”
如果要是用c语言,那么你至少需要"#include "
这样改下试试

解决方案五:

就现在你的代码来看,首先引入头文件就有问题,你要输入输出,就必须引入stdio.h这个头文件

解决方案六:

刚开头的“#include”,你没有引入头文件。可以在后面加上 stdio.h 用 <>包起来

解决方案七:

指针,地址等访问成员变量要用->来访问。

解决方案八:

你的这个问题出现在max函数中,对浮点数大小的判断。
给你一份改好的代码。

 #include <stdio.h>
#define N 3
#pragma warning(disable:4996)
struct Student
{
    int num;
    char name[20];
    float score[3];
    float aver;
};
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
int main()
{

    struct Student stu[N];
    struct Student *p = stu;
    input(p);
    print(max(p));
    return 0;
}

void input(struct Student stu[])
{
    int i;

    for (i = 0; i < N; i++)
    {
        printf("请输入学生 %d 的信息:学号,姓名,三门课成绩:n",i+1);
        scanf("%d %s %f %f %f", &stu[i].num, stu[i].name, &stu[i].score[0],
            &stu[i].score[1], &stu[i].score[2]);
        stu[i].aver = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3.0;
    }

}

struct Student max(struct Student stu[])
{
    int i, m = 0;

    for (int i = 0; i<N; i++)
    {
        if ((stu[i].aver - stu[m].aver)>0.0)
            m = i;
    }

    return stu[m];

}

void print(struct Student stud)
{
    printf("n成绩最高的学生是;n");
    printf("学号:%dn姓名;%sn三门课成绩:%5.1f,%5.1f,%5.1fn平均成绩:%6.2fn",
        stud.num, stud.name, stud.score[0], stud.score[1], stud.score[2], stud.aver);
}
时间: 2024-12-23 09:39:32

c语言-一个C语言初学者的疑问的相关文章

一个c语言问题 初学者求助

问题描述 一个c语言问题 初学者求助 如图所示 为什么改变for循环的条件 i和j的值会分别变成1 断点在那句 他又是为什么改变的呢 解决方案 关于C语言的一个问题c语言中的一个问题一个有趣的C语言问题 解决方案二: 上一步什么都没做 i和j为什么会变化呢? 然后改成了下图 就都是0了 解决方案三: 最上边是写错了吧? c语言判断相等应该是: i==j 解决方案四: 没看懂你的意思,断点不是在循环之前么?那么改循环和断点处的值有什么关系?

《C语言编程——零基础初学者指南(第3版)》一第2章 编写第一个C程序2.1 概述

第2章 编写第一个C程序 C语言编程--零基础初学者指南(第3版)本章内容 编写第一个程序使用main()函数识别数据类型本章将教你如何编写第一个C程序!如果无法理解本章的所有内容,请不要着急.放轻松些,你的目标是先熟悉C程序.经过本章的学习,你要学会识别所有C程序的共同元素. 2.1 概述 C语言编程--零基础初学者指南(第3版)本节将介绍一个简短但完整的C程序,并讨论附录B中的另一个程序--"Draw Poker扑克游戏".这两个程序都包含一些共同和不同的元素.第一个程序相当简单:

c语言-C语言一个字符串的问题

问题描述 C语言一个字符串的问题 #include #include int main(){ char s1[81] s2[81]; scanf(""%s"" s1); scanf(""%s"" s2); char *find = NULL; int len2 = (int)strlen(s2); while ((find = strstr(s1 s2)) != NULL) { while ( *(find + len2) )

r语言-R语言中关于坐标轴的一些疑问

问题描述 R语言中关于坐标轴的一些疑问 本人初学者,正在根据一些数据用R重现图,但是现在碰到了这样的坐标轴 查了很多资料都没有找到答案,请问用R可以实现这样的坐标轴吗?要用什么函数呢?绘图我都是用plot的,求大神指教 解决方案 http://bbs.pinggu.org/thread-3566469-1-1.html 解决方案二: R语言 备忘录R语言-坐标轴画法要旨

《C语言编程——零基础初学者指南(第3版)》一2.3 数据的种类

2.3 数据的种类 C语言编程--零基础初学者指南(第3版)C程序所使用的数据由数字.字符和单词组成.程序将数据处理为有意义的信息.在C程序设计中有各种不同类型的数据,最常见的三种数据类型是: 字符整型数浮点型数(也称为实数)提示 你也许会问:"我需要具备多少数学知识?!这不公平!"别急,轻松点,C语言会帮你处理数学的问题.不一定非要学会2+2才能写C程序.但是,你必须要理解数据类型,否则无法为自己的程序选择合适的类型. 2.3.1 C语言中的字符 C语言中的字符是计算机可以表示的任意

分析C语言一个简单程序_C 语言

首先给大家一个简单的例子,让读者有个整体的认识,代码如下: #include <stdio.h> int main() { puts(""); return 0; } 函数的概念 先来看第4行代码,这行代码会在显示器上输出"".前面我们已经讲过,puts 后面要带( ),字符串也要放在( )中. 在C语言中,有的语句使用时不能带括号,有的语句必须带括号.带括号的称为函数(Function) . C语言提供了很多功能,例如输入输出.获得日期时间.文件操作等

《C语言编程——零基础初学者指南(第3版)》一1.4 使用C语言

1.4 使用C语言 C语言编程--零基础初学者指南(第3版)C语言比绝大多数程序设计语言效率更高,同时它也是一门小型的程序设计语言.也就是说,需要学习的C命令(comm__and)并不多.通过本书的学习,你将掌握C命令和C语言的其他要素(如,运算符.函数和预处理指令等). C语言发展至今,经过了很多版本的修订.美国国家标准学会(ANSI)委员会为C语言的所有版本制定了一系列规则(称为ANSI C).如果用ANSI C编译器能编译某个程序,就能保证所有安装ANSI C编译器的计算机都能编译该C程序

《C语言编程——零基础初学者指南(第3版)》一2.2 main()函数

2.2 main()函数 C语言编程--零基础初学者指南(第3版)C程序中最重要的部分是main()函数.前面讨论的两个程序中都有main()函数.main()是一个C函数,不是C命令.现在还不需要区分它们.函数是执行某些任务的例程.C程序由一个或多个函数组成.每个程序必须包含一个main()函数,除此之外,有些函数是你创建的.函数与命令的区别在于,函数名后紧跟一对圆括号.以下所示都是函数: main() calcIt() printf() strlen() 而这些都是命令: return wh

《C语言编程——零基础初学者指南(第3版)》一2.4 第二个程序示例

2.4 第二个程序示例 C语言编程--零基础初学者指南(第3版)本章的目标是,让读者熟悉C程序的大体样式,着重理解main()函数,其中包含可执行的C语句.C语言的格式比较自由,虽然对空白未作严格规定,但却对小写字母吹毛求疵.C语言要求所有的命令和函数都用小写字母,如printf(). 目前,不要求读者理解本章代码中的细枝末节,本书会在后面章节做详细讲解.但是,再次提醒读者,尽可能多动手编程--实践出真知!多写代码能增加你对编码的信心.下面介绍本章的第二个程序,其中涵盖了之前介绍过的数据类型: