重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
# includestdio.h
目前创新互联已为上千余家的企业提供了网站建设、域名、网络空间、成都网站托管、企业网站设计、惠水网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
struct student
{
int id;
int score;
}stu[10];
int main(void)
{
int i,m;
struct student j;
for( i=0; i10; i++)
{
printf("请输入学生的学号:");
scanf("%d",stu[i].id);
printf("请输入学生的成绩:");
scanf("%d",stu[i].score);
printf("\n");
}
printf("\n\n");
for( i=0; i10; i++)
{
for( m=i; m10; m++)
{
if(stu[i].scorestu[m+1].score)
{
j = stu[i];
stu[i] = stu[m+1];
stu[m+1] = j;
}
}
}
for( i=0; i10; i++)
{
printf("该学生的学号为:%d\n",stu[i].id);
printf("该学生的成绩为:%d\n",stu[i].score);
printf("\n\n");
}
return 0;
}
代码:
#includelt;stdio.hgt;
struct student
{
int num,score[3],age;
char name[20];
float aver;
}stu[1000];
main()
{
int i,j,n;
struct student temp;
/*注意:变量temp的类型与数组stu的元素类型为相同结构体的时候,才可交换两个结构体数组元素,所以此处需要定义temp的类型*/
printf("请输入学生人数:\n");
scanf("%d",n);
printf("请按顺序输入名字、学号、年龄、分数:\n");
for(i=0;ilt;n;i++)
{
scanf("%s",stult;igt;.name);
scanf("%d",stult;igt;.num);
scanf("%d",stult;igt;.age);
for(j=0;jlt;3;j++)
scanf("%d",stult;igt;.score[j]);
}
for(i=0;ilt;n;i++)
{int sum=0;
for(j=0;jlt;3;j++)
sum+=stult;igt;.score[j];
stult;igt;.aver=sum/3.0;
}
for(i=0;ilt;n-1;i++)/*利用冒泡排序法按平均分高低排序*/
{for(j=0;jlt;n-i-1;j++)
{
if(stu[j].avergt;stu[j+1].aver)
{temp=stu[j];/*此处交换的应当是数组元素,而不是平均分*/
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
printf("学生信息如下(姓名、学号、年龄、成绩、平均分):\n");
for(i=0;ilt;n;i++)
{
printf("%s%d%d",stult;igt;.name,stult;igt;.num,stult;igt;.age);
for(j=0;jlt;3;j++)
printf("%d",stult;igt;.score[j]);
printf("%.2f\n",stult;igt;.aver);
}
}
扩展资料:
头文件#includelt;stdio.hgt;中
stdio.h是stand inputoutput的缩写,意思是标准输入输出头文件。凡是用到标准输入输出函数,就要调用该头文件。
查看stdio.h目录下包含哪些函数:主要有文件访问、二进制输入/输出、格式化和非格式化输入/输出、文件定位、错误处理、文件操作等。
具体打开自己的VS安装目录,找到include文件夹,打开include夹下面的stdio.h文件即可查看
(C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\vcpackages\IntelliSense\iOS\OSS\musl-1.1.10\include)
常用标准输入输出函数:
scanf()从屏幕格式输入
printf()格式输出到屏幕
getchar()从屏幕得到一个字符
putchar()字符输出到屏幕
gets()从屏幕得到一个字符串
puts()字符串输出到屏幕
fscanf()从磁盘格式输入
fprintf()格式输出到磁盘
fgetc()从磁盘得到一个字符
fputc()字符输出到磁盘
fgets()从磁盘得到一个字符串
fputs()字符串输出到磁盘
#号是预处理语句,表明在编译之前预先进行处理。
.h是header file的缩写,表面这是一个头文件。
include是文件包含命令,后面跟着引号""或者尖括号lt;gt;,意思是将引号或尖括号内指定的文件包含到本程序中,成为本程序的一部分,而包含的文件通常是由系统提供的。
for(i=0;iN;i++)
//开始外层for循环,从i=0,每次加1,直到i=4
{
//外层循环体开始
for(j=0;jN-1-i;j++)
//开始外层for循环,从j=0,每次加1直到i等于外层循环的N-j-1
{
//内层循环体开始
if(stu[j].sumstu[j+1].sum)
//条件判断
{
//如果整形数组前面的数比其后的小,执行以下语句
temp=stu[j+1.sum];
//将比较大的数赋值给temp
stu[j+1].sum=stu[j].sum;
//将比较小的数赋值给数组中后面的变量
stu[j].sum=temp;
//将比较大的数赋值给数组中前面的变量
}for(i=0;iN;i++)printf("%d%d",stu[i].学号,stu[i].姓名);}
#include stdio.h
#include stdlib.h
#include string.h
typedef struct student
{
char name[12];
char student_id[12];
unsigned short Chinese;
unsigned short English;
unsigned short Math;
unsigned short average;
}student_t;
unsigned short num;
unsigned short pass_rate;
void enter_message(student_t *p);
void sort(student_t *p);
void print_message(student_t *p);
void swit_student(student_t *p,student_t *q);
int main(int argc, char const *argv[])
{
printf("Enter the number of students:");
scanf("%hu",num);
student_t *p = NULL;
p = (student_t *)malloc(num * sizeof(student_t));
printf("Enter students message,example: name student_id Chinese English Math\n");
enter_message(p);
sort(p);
print_message(p);
free(p);
return 0;
}
unsigned short num;
unsigned short pass_rate;
void enter_message(student_t *p);
void sort(student_t *p);
void print_message(student_t *p);
void swit_student(student_t *p,student_t *q);
int main(int argc, char const *argv[])
{
printf("Enter the number of students:");
scanf("%hu",num);
student_t *p = NULL;
p = (student_t *)malloc(num * sizeof(student_t));
printf("Enter students message,example: name student_id Chinese English Math\n");
enter_message(p);
sort(p);
print_message(p);
free(p);
return 0;
}
void swit_student(student_t *p,student_t *q)
{
student_t temp;
strcpy(temp.name,p-name);
strcpy(p-name,q-name);
strcpy(q-name,temp.name);
strcpy(temp.student_id,p-student_id);
strcpy(p-student_id,q-student_id);
strcpy(q-student_id,temp.student_id);
temp.Chinese = p-Chinese;
p-Chinese = q-Chinese;
q-Chinese = temp.Chinese;
temp.English = p-English;
p-English = q-English;
q-English = temp.English;
temp.Math = p-Math;
p-Math = q-Math;
q-Math = temp.Math;
temp.average = p-average;
p-average = q-average;
q-average = temp.average;
}
#includestdio.h
#includestring.h
void sort(int a[], char b[][11])//a为数组地址
{
int i, j,v;
char s[11];
for(i = 0; i 9; i ++)
for(j = i+1; j10; j ++)
{
if(a[i] a[j])
{
v = a[i];
a[i] = a[j];
a[j] = v;
strcpy(s,b[i]);
strcpy(b[i],b[j]);
strcpy(b[j],s);
}
}
}
main()
{
int a[10],i;
char b[10][11];
for(i=0;i=9;i++)
{ scanf("%d",a[i]);
scanf("%s",b[i]);
}
sort(a,b);
for(i=0;i=9;i++)
{
printf("%d %s\n",a[i],b[i]);
}
}