一.填空题
1.int 2 -(2^16-1)~2^16 (注:谭浩强的书上说int是2字节,扰迹VC上实际是4字节)
2.整型,字符型,浮点型
3.-4
4.联合体的所有成员变量共享内存空间,结构体的所有成员变量各自享有内存空间。
5.a=1,b=3,c=2
6.14 m
7.前者是字符串,包含'a'和'\0'两个字符,后者是字符'a'。
8.7,1
9.0
10. false
11.9.876543e4
12.换行
13.9,11,9,10
二.编程题
1、 有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
#include
#include
#define STU_NUM 3//学生数
#define SCORE_NUM 4//每个蔽李弯学生的科目数
typedef struct /*定义结构体数组*/
{
char num[20]; /*学号*/
char name[20]; /*姓名*/
float score[SCORE_NUM]; /*成绩*/
float total;//总分
float average;//平均分
} Student;
Student stu[STU_NUM];
//输入学生信息
void input()
{
int i,j;
printf("请输入%d个学生的信息:\n",STU_NUM);
for(i=0;i
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j
printf("科目%d的成绩:",j+1);
scanf("%f",&stu[i].score[j]);
}
}
}
//输出学生信息
void output(int i)
{
int j;
//打印表头
printf("学号\t姓名\t");
for(j=0;j
printf("科目%d\t",j+1);
}
printf("总分\t平均分\n");
printf("%s\t%s\t",stu[i].num,stu[i].name);
for(j=0;j
printf("%3.2f\t",stu[i].score[j]);
}
printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average);
}
//计算总分和平宏闷均分
void process()
{
int i,j;
for(i=0;i
stu[i].total=0;
for(j=0;j
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}
//找平均成绩最高的
int find()
{
int i,j,max;
max=0;
for(i=1;i
if(stu[max].average
max=i;
}
}
return max;
}
void main()
{
input();
process();
output(find());
}
2. 判断m是否素数,并画出流程图。
#include
//判断m是否素数
int prime(int m)
{
int i;
for(i=2;i<=m/2;i++)
if(m%i==0)
return 0;
return 1;
}
void main()
{
int m;
printf("Input m");
scanf("%d",&m);
if(prime(m))
printf("m是素数\n");
else
printf("m不是素数\n");
}
1.int 4 -(2^31-1)~2^31
2.整型,字符型,布尔型
3.-4
4.前者所有变量共享内存空间,后者各自享有。
5.1,3,2
6.14 m
7.前者是字符串,后者是字符。
8.不可能输出结果。因为一看就知源凳道里雹毕旅面的符号是中文的。编译器不能识别。如果修正的话,答案是:d,7/n
9.0
10. false
11.9.876543e4
12.换行
13.9,11,9,数祥10
一.填空题
1.int
2
-(2^16-1)~2^16
(注:谭浩强的书上说int是2字节,VC上实际是4字节团铅)
2.整型,字符型,浮点型
3.-4
4.联合体的所有成员变量共享内存空间,结构体的所有成员变量各自享有内存空间。
5.a=1,b=3,c=2
6.14
m
7.前者是字符串,包含'a'和'\0'两个字符,后者是字符'a'。
8.7,1
9.0
10.
false
11.9.876543e4
12.换行
13.9,11,9,10
二.编程题
1、
有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
#include
#include
#define
STU_NUM
3//学生数
#define
SCORE_NUM
4//每个学生的科目数
typedef
struct
/*定义结构体数组*/
{
char
num[20];
/*学号*/
char
name[20];
/*姓名*/
float
score[SCORE_NUM];
/*成绩*/
float
total;//总分
float
average;//平均分
}
Student;
Student
stu[STU_NUM];
//输入学生信息
void
input()
{
int
i,j;
printf("请输入%d个学生的信息:\n",STU_NUM);
for(i=0;i
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j
printf("科目%d的成绩:",j+1);
scanf("%f",&stu[i].score[j]);
}
}
}
//输出学生信息
void
output(int
i)
{
int
j;
//打印表头
printf("学号\t姓名\迟链t");
for(j=0;j
printf("科目%d\t",j+1);
}
printf("总分码或孙\t平均分\n");
printf("%s\t%s\t",stu[i].num,stu[i].name);
for(j=0;j
printf("%3.2f\t",stu[i].score[j]);
}
printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average);
}
//计算总分和平均分
void
process()
{
int
i,j;
for(i=0;i
stu[i].total=0;
for(j=0;j
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}
//找平均成绩最高的
int
find()
{
int
i,j,max;
max=0;
for(i=1;i
if(stu[max].average
max=i;
}
}
return
max;
}
void
main()
{
input();
process();
output(find());
}
2.
判断m是否素数,并画出流程图。
#include
//判断m是否素数
int
prime(int
m)
{
int
i;
for(i=2;i<=m/2;i++)
if(m%i==0)
return
0;
return
1;
}
void
main()
{
int
m;
printf("Input
m");
scanf("%d",&m);
if(prime(m))
printf("m是素数\n");
else
printf("m不是素数\n");
}