c语言结构程序设计。根据要求定义函数,并输出结果。
打印错误吧
没有大括号
不是嵌套
#include
#include
#define STU_NUM 10 /*宏定义学生的数量*/
struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/
{
char stu_id[20]; /*学生学号;*/
float score[3]; /*三门课成绩;*/
float total; /*总成绩;*/
float aver; /*平均成绩;*/
};
/*排序用一个函数来实现*/
void SortScore(student *stu,int n)
{
student stud;
for(int i = 0; i < n-1; i++)
for(int j = i+1 ; j < n; j++)
{
if(stu[i].total < stu[j].total)
{
stud = stu[i];
stu[i] = stu[j];
stu[j] = stud;
}
}
}
int main( )
{
student stu[STU_NUM]; /*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。*/
/*输入这十个学生的相关信息*/
for(int i = 0; i<STU_NUM; i++)
{
printf("请输入第%d个学生的学号:",i+1);
scanf("%s",&stu[i].stu_id);
printf("输入第%d个学生的数学成绩:",i+1);
scanf("%f",&stu[i].score[0]);
printf("输入第%d个学生的英语成绩:",i+1);
scanf("%f",&stu[i].score[1]);
printf("输入第%d个学生的计算机成绩:",i+1);
scanf("%f",&stu[i].score[2]);
stu[i].total = stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].aver = stu[i].total/3;
}
printf("
");
SortScore(stu,STU_NUM);/*调用排序函数*/
/*输出排序后的各学生的成绩*/
for(i = 0 ; i < STU_NUM; i++)
{
printf("序号: %d",i);
printf("学号:%s",stu[i].stu_id);
printf("数学:%f",stu[i].score[0]);
printf("英语:%f",stu[i].score[1]);
printf("计算机:%f",stu[i].score[2]);
printf("平均成绩:%f",stu[i].aver);
printf("总分:%f",stu[i].total);
printf("
");
}
return 0;
}
注:(源程序中主要标识符含义说明)
#define STU_NUM 10 /*宏定义学生的数量*/
struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/
{
char stu_id[20]; /*学生学号;*/
float score[3]; /*三门课成绩;*/
float total; /*总成绩;*/
float aver; /*平均成绩;*/
}
#define MAX 50
struct student {
char no[10];
char name[10];
float score[3];
}stu[MAX];
float course_ave[3] = {0};
float stu_ave[MAX] = {0};
// 录入学生成绩
void input(int n) {
int i;
for(i=0; i<n; i++) {
scanf("%s %s", stu[i].no,stu[i].name);
scanf("%f %f %f", &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
}
}
// 计算每门课的平均成绩
void Course_ave(int n){
int i,j;
for(i=0; i<n; i++) {
for(j=0; j<3; j++) {
course_ave[j] += stu[i].score[j];
}
}
for(j=0; j<3; j++) {
course_ave[j] /= MAX;
}
}
// 计算每个学生的平均成绩
void Stu_ave(int n) {
int i,j;
for(i=0; i<n; i++) {
for(j=0; j<3; j++) {
stu_ave[i] += stu[i].score[j];
}
stu_ave[i] /= 3;
}
}
void main () {
int i,j;
printf("请输入学生的学号 姓名 语文 数学 英语");
input(MAX);
Course_ave(MAX);
printf("\n课程的平均成绩是: %6.2f %6.2f %6.2f\n",course_ave[0],course_ave[1],course_ave[2]);
Stu_ave(MAX);
printf("\n学生的平均成绩是: \n");
for(i=0; i<MAX; i++) {
printf(" %s %s %6.2f\n", stu[i].no,stu[i].name, stu_ave[i]);
}
getchar();
getchar();
}
如何设计C语言的循环结构
循环结构又叫重复结构,主要用来处理在日常生活中或是在程序中常常遇到的重复处理的问题。C语言是结构化的语言,要用结构化的思想来编程。C语言三大结构:循环结构,选择结构,顺序结构等。1、用while语句实现循环: 用while语句的一般形式如下: while(表达式) 语句 其中“语句”就是循环体。 【注】:...
程序设计是什么?
语言 (Programming Language)是用于编写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言包含三个方面,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成程序的各个记号之间的组合规则,但不...
什么是程序?什么是程序设计?
1、计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。它以某些程序设计语言编写,运行于某种目标结构体系上。打个比方,程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记...
如何学习C语言程序设计
2. 程序填空题一般2到4道,看难度给分,总计18分;3. 程序改错题一般2到4道,看难度给分,总计18分;4. 程序设计题1道,根据答出步骤给分,答出越多分越高直至满分,总计24分。拓展知识(考试内容):1. C语言程序结构 明白如何运用main函数以及其他基础函数,会构建程序。知道源文...
程序设计语言有哪些?
高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。从应用角度分类,可分为基础语言、结构化语言和专用语言。从客观系统描述分类,可分为面向过程语言和面向对象语言。面向过程语言以“数据结构+算法”程序设计范式构成。4、非过程化语言编码时只需说明“做什么”,不需描述算法细节...
什么是结构化程序设计方法?
由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。 按照结构化程序设计的观点,任何算法功能都可以通过由程序模...
计算机二级(C语言)都考哪些内容?
根据《全国计算机二级考试c语言程序设计考试大纲(2018年版) 》,计算机二级C 语言主要考C 语言程序的结构、数据类型及其运算、基本语句、选择结构程序设计、循环结构程序设计、数组的定义和引用、函数、编译预处理、指针、结构体(即“结构”)与共同体(即“联合”)、位运算和文件操作12大块内容。采用上机...
程序设计语言的分类有哪些?
1、基础语言也称通用语言,它历史悠久,流传很广,有大量的已开发的软件库,拥有众多的用户, 为人们所熟悉和接受。,属于这类语言的有 FORTRAN、COBOL、BASIC、ALGOL等。2、结构化语言,20 世纪 70 年代以来,结构化程序设计和软件工程的思想日益为人们所接受和欣赏。在它们的影响下,先后出现了一些很...
程序设计的内容包括
http:\/\/www.gxjzy.com\/gxjzy\/djks\/ksdg\/2pub.htm 二级(C语言程序设计)考试大纲公共基础知识 二级考试大纲中的公共基础知识部分 基本要求 1. 掌握算拆扮让法的基本概念。 2. 掌握基本数据结构及其操作。 3. 掌握基本排序和查找算法。 4. 掌握逐步求精的结构化程序设计方法。 5. 掌握软件工程的基本方法,具有...
什么是程序设计?
任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。在计算机技术发展的早期,由于机器资源比较昂贵,程序的时间和空间代价往往是设计关心的主要因素;随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构、可维护性、复用性、可扩展性等因素日益重要。 另一方面,在...
祁须莱恩: #include <iostream> using namespace std; const size=3; template<class T> class vector { T* v; public: vector() { v=new T[size]; for(int i=0;i<size;i++) v[i]=0; } vector(T* a) { for(int i=0;i<size;i++) v[i]=a[i]; } }; int main() { int x[3]={1,2,3}; int y[3]={4,5,6}; vector<int>v1; vector<int>v2; v1=x; v2=y; return 0; }
徐汇区13099559666: c语言程序设计,(编写一个函数怎么编...)? - ?
祁须莱恩: atoi(digitStr) {int a=0,i; char b[6]="32767"; for(i=0;i<4&&digitStr[i]!='\0';i++) {if(i>4)printf("cuo wu"); a+=(digitStr[i]-'0')*pow(10,i);//10的I次方 if(i==4) {if(*digitStr++>*b++)printf("shu tai da!!!")} } }
徐汇区13099559666: c语言 编程实现求n!要求用定义求阶乘的函数 - ?
祁须莱恩: #include<stdio.h> long fac(unsigned n) { if (n == 0 || n == 1) { return 1; } else { return (n * fac(n - 1)); } } int main() { unsigned ui; printf("输入计算的阶乘:"); scanf("%u", &ui); printf("%u的阶乘为:%u\n", ui, fac(ui)); return 0;}
徐汇区13099559666: c语言程序设计,(编写一个函数....??
祁须莱恩: 这个函数是库函数 所以用my_atoi int my_atoi(const char *str){ int signal = 0; bool result = false; if((*str>='0'&&*str<='9')||*str=='-'||*str=='+'){ if(*str=='-'||*str=='+'){ if(*str=='-') signal = true; str++; } } else return 0; while(*str>='0'&&*str<='9') result = result*10+(*str++ -'0'); return signal?-result:result;
徐汇区13099559666: c语言中自定义函数的分模块设计 - ?
祁须莱恩: h文件就是前置声明.int ByteToBit(ElemType ch, ElemType bit[8]); 如果使用了前置声明,函数中有用到可选参数,也必须写在前置声明中.c文件就是函数具体的实现.如果没用使用前置声明,可以把可选参数写在这里.int ByteToBit(...
徐汇区13099559666: C语言编程——函数?
祁须莱恩: 楼上用的不是C,而是C#. #include <stdio.h> int f(int x, int y) { int n; for(n = x < y ? x : y; x % n || y % n; n--); return n; } int g(int x, int y) { int n; for(n = x > y ? x : y; n % x || n % y; n++); return n; } int inNumber() { int n; printf("输入一个正数:"); ...
徐汇区13099559666: c语言程序设计 函数 急!!! - ?
祁须莱恩: #include <stdio.h> float Money(float I,float S,int Y); //括号里是参数 你要求的 返回值M是float型 void main() {int y;float i,s,m;printf ("----请依次输入利率 投资额 年份----\n"); scanf("%f %f %d",&i,&s,&y); //依次读取数值 并放入i,s,ym=...
徐汇区13099559666: C语言程序设计?
祁须莱恩: =.好像 .... 自带有 比较和复制的吧..都贴给你 如果要自己写的话 参考库函数函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例:#include <stdio.h> #include <string.h>int ...
徐汇区13099559666: c语言程序设计 第八章 函数?
祁须莱恩: #include "stdio.h" //编写二维数组(3ⅹ3)转置 void change(int b[3][3]) { int i,j,m; printf("转置前输出:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d\t",b[i][j]); } printf("\n"); } //转置 for(i=0;i<3;i++) { for(j=i;j<3;j++) { m=b[i][j]; b[i][j]=b[j][i]; ...