查询学生成绩:
#include <stdio.h>
#define N 2
struct teacher
{
char id[11];
char name[21];
char gender;
int age;
char zc[11];
char xl[7];
char phone[12];
float wage;
};
void show(struct teacher dep[], int n);
int main()
{
struct teacher sx[N];
int i;
for(i = 0; i < N; i++)
{
scanf("%s%s" ,sx[i].id, sx[i].name);
fflush(stdin);//
scanf("%c" ,&sx[i].gender);
scanf("%d%s%s%s%f" , &sx[i].age, sx[i].zc,
sx[i].xl, sx[i].phone,&sx[i].wage);
}
show(sx, N);
return 0;
}
void show(struct teacher dep[], int n)
{
int i;
/*
char id[11];char name[21];char gender;int age;
char zc[11];char xl[7]; char phone[12]; float wage;
*/
for(i = 0; i < n; i++)
//显示
printf("%s %s %c %d %s %s %s %.2f\n" ,dep[i].id, dep[i].name, dep[i].gender,
dep[i].age, dep[i].zc,dep[i].xl, dep[i].phone,
dep[i].wage);
}
#include <stdio.h>
#include <string.h>//用字符串中的strlen,strcmp,strcpy等需要头文件
#define N 2
void input(char no[ ][11],char name[][21],int age[],
float c_score[ ], float math[], float english[], int n);
void output(char no[ ][11],char name[][21],int age[],
float c_score[ ], float math[], float english[], int n);
int find(char name[][21], int n, char fname[]);
void total(char no[ ][11],char name[][21],int age[],
float c_score[ ], int n);
int main()
{
char no[N][11];
char name[N][21];
int age[N];
float c_score[N];
float math[N];
float english[N];
char fname[21];
int result;
input( no ,name, age,c_score, math, english, N);
output( no ,name, age,c_score, math, english, N);
fflush(stdin);
gets(fname);
result = find(name, N, fname);
if(result < 0)
printf("查无此人\n");
else
output( no+result,name + result,
age + result,c_score + result,
math + result, english + result, 1);
total( no, name, age,
c_score, N);
return 0;
}
void input(char no[ ][11],char name[][21],int age[],
float c_score[ ], float math[], float english[], int n)
{
int i;
for(i = 0; i < n; i++)
{
printf("请输入学号: ");
fflush(stdin);
gets(no[i]);
printf("请输入姓名: ");
fflush(stdin);
scanf("%s", name[i]);
printf("请输入年龄: ");
scanf("%d", &age[i]);
printf("请输入C语言成绩: ");
scanf("%f", &c_score[i]);
printf("请输入高等数学成绩: ");
scanf("%f", &math[i]);
printf("请输入英语成绩: ");
scanf("%f", &english[i]);
}
}
void output(char no[ ][11],char name[][21],int age[],
float c_score[ ], float math[], float english[], int n)
{
int i;
for(i = 0; i < n; i++)
{
printf("%-14s%-22s%-4d%-7.1f%-7.1f%-7.1f\n", no[i], name[i], age[i],
c_score[i], math[i], english[i]);
}
}
//返回值是该学生的位置
int find(char name[][21], int n, char fname[])
{
int i;
for(i = 0; i < n; i++)
{
if(0 == strcmp(name[i],fname))
return i;
}
return -1;
}
void total(char no[ ][11],char name[][21],int age[],
float c_score[ ], int n)
{
int i;
printf("\n优(成绩>=90)的学生为:\n");
for (i = 0; i<N; i++)
{
if (c_score[i] >= 90)
{
printf("%-10d",no[i]);
printf("5-16d",name[i]);
printf("%-4d",age[i]);
printf("%-6.0f",c_score[i]);
printf("\n");
}
}
printf("\n良(80<=成绩<90)的学生: \n");
for (i=0;i<N;i++)
{
if(c_score[i]>=80 && c_score[i] < 90)
{
printf("%-10ld",no[i]);
printf("%-16s", name[i]);
printf("%-4d",age[i]);
printf("%-6.0f", c_score[i]);
printf("\n");
}
}
}
C语言结构体的输入输入出:
#include<stdio.h>
struct stu{
char name[20];
//char age[3];
int age;
long score;
};
#define N 100 //宏定义
struct stu stu1[N];//结构体数组
int main()
{
int i;
int num;
printf("you want to input and how many student:\n");
scanf("%d",&num);
for(i = 0;i < num; i++)
{
printf("请输入第%d个学生的name:\n",i+1);
scanf("%s",&stu1[i].name);
printf("请输入第%d个学生的age:\n",i+1);
scanf("%d",&stu1[i].age);
}
printf("your information is:\n");
for(i = 0;i < num;i++)
{
printf("%s\n%d\n",stu1[i].name,stu1[i].age);
}
}
-- (插入) 可视 -- 49 51,2 69%