与英语(EN)和物理(PH),有最.jpg)
导读:#include
#include <stdioh>
#define STU 30#define COURSE 3
void Input(long num[],int score[][COURSE],int n);
void GetSumAver(int score[][COURSE],int n,int sum[],float aver[]);
void Sort(long num[],int score[][COURSE],int n,int sum[],float aver[]);
void Print(long num[],int score[][COURSE],int n,int sum[],float aver[]);
int Search(long num[], int n, long x);
main()
{
int n, score[STU][COURSE], sum[STU], pos;
long num[STU], x;
float aver[STU];
printf("Please enter the total number of the students(n<=30):"); scanf("%d", &n); /输入参加考试的学生人数/
printf("Enter No and score as: MT EN PH\n"); Input(num, score, n); /输入学生成绩/
GetSumAver(score, n, sum, aver); /计算总分和平均分/
printf("Before sort:\n");
Print(num, score, n, sum, aver);
Sort(num, score, n, sum, aver); /排名次/
printf("After sort:\n");
Print(num, score, n, sum, aver);
printf("Please enter searching number:");
scanf("%ld", &x); /以长整型格式输入待查找学生的学号/
pos = Search(num, n, x); /名次查询/
if (pos != -1)
{
printf("position:\t NO \t MT \t EN \t PH \t SUM \t AVER\n");
printf("%8d\t%4ld\t%4d\t%4d\t%4d\t%5d\t%50f\n",
pos+1,num[pos], score[pos][0],score[pos][1],
score[pos][2], sum[pos],aver[pos]);
}
else
{
printf("Not found!\n");
}
}
/ 函数功能:输入某班学生期末考试三门课程成绩
函数参数:长整型数组num,存放学生学号
整型数组score,存放学生成绩
整型变量n,存放学生人数
函数返回值:无
/
void Input(long num[], int score[][COURSE], int n)
{
int i, j;
for (i=0; i<n; i++)
{
scanf("%ld", &num[i]);
for (j=0; j<COURSE; j++)
{
scanf("%d", &score[i][j]);
}
}
}
/ 函数功能:计算每个学生的总分和平均分
函数参数: 整型数组score,存放学生成绩
整型变量n,存放学生人数
整型数组sum,计算得到的每个学生的总分
实型数组aver,计算得到的每个学生的平均分
函数返回值:无
/
void GetSumAver(int score[][COURSE], int n, int sum[], float aver[])
{
int i, j;
for (i=0; i<n; i++)
{
sum[i] = 0;
for (j=0; j<COURSE; j++)
{
sum[i] = sum[i] + score[i][j];
}
aver[i] = (float)sum[i] / COURSE;
}
}
/ 函数功能:按总分成绩由高到低排出成绩的名次
函数参数:长整型数组num,存放学生学号
整型数组score,存放学生成绩
整型变量n,存放学生人数
整型数组sum,存放每个学生的总分
实型数组aver,存放每个学生的平均分
函数返回值:无
/
void Sort(long num[],int score[][COURSE], int n, int sum[], float aver[])
{
int i, j, k, m;
int temp1;
long temp2;
float temp3;
for (i=0; i<n-1; i++)
{
k = i;
for (j=i+1; j<n; j++)
{
if (sum[j] > sum[k]) k = j;
}
if (k != i)
{
temp1 = sum[k]; sum[k] = sum[i]; sum[i] = temp1;
temp2 = num[k]; num[k] = num[i]; num[i] = temp2;
temp3 = aver[k]; aver[k] = aver[i]; aver[i] = temp3;
for (m=0; m<COURSE; m++)
{
temp1 = score[k][m];
score[k][m] = score[i][m];
score[i][m] = temp1;
}
}
}
}
/ 函数功能: 打印名次表,表格内包括学生编号、各科分数、总分和平均分
函数参数: 长整型数组num,存放学生学号
整型数组score,存放学生成绩
整型变量n,存放学生人数
整型数组sum,存放每个学生的总分
实型数组aver,存放每个学生的平均分
函数返回值:无
/
void Print(long num[], int score[][COURSE], int n,
int sum[], float aver[])
{
int i, j;
printf(" NO \t| MT \t EN \t PH \t SUM \t AVER\n");
printf("----------------------------------------------------\n");
for (i=0; i<n; i++)
{
printf("%ld\t| ", num[i]);
for (j=0; j<COURSE; j++)
{
printf("%4d\t", score[i][j]);
}
printf("%5d\t%50f\n", sum[i], aver[i]);
}
}
/ 函数功能:在学号数组中顺序查找学生的学号
函数参数:长整型数组num,存放学生学号
整型变量n,存放学生人数
长整型变量x,存放待查找学生的学号
函数返回值:找到时,返回学生学号在学号数组中的下标位置,否则返回值-1
/
int Search(long num[], int n, long x)
{
int i;
for (i=0; i<n; i++)
{
if (num[i] == x) return(i);
}
return (-1);
}
1、函数fun的功能是计算x^n。
double fun(double x,int n)
{int i; double y=1;
for(i=1;i<=n;i++) y=yx;
return y;
}
主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。实现这一计算的函数调用语句为______。
答案: 1:fun(a,4)+fun(b,4)-fun((a+b),3)
评析:
函数fun的功能是计算x的n次方,所以a的4次方的调用函数应当为fun(a,4),b的4次方的调用函数应当为fun(b,4),(a+b)的3次方的调用函数应当为fun((a+b),3),所以,实现m=a^4+b^4-(a+b)^3这一计算的函数调用语句为:fun(a,4)+fun(b,4)-fun((a+b),3);。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
2、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。请填空。
void sstrcpy(char s,char t)
{ while(s++=______);}
main()
{ char str1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
答案: 1:t++
评析:
要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字符串中,所以可以使用s=t;s++;t++。或者可以写成s++=t++,本题只有一个空,可以填入t++。
知识点:知识点/指针/用指针作函数参数
3、以下程序给指针p分配三个double型动态内存单元,请填空。
#include <stdlibh>
main()
{ double p;
p=(double)malloc(______);
p[0]=15; p[1]=25;p[2]=35;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
答案: 1:3sizeof(double)
评析:
malloc(size)在内存的动态存储区中分配一个长度为size的连续空间。此函数的值(即"返回值")是一个指针,它的值是该分配域的起始地址。如果此函数未能成功地执行,则返回值为0。
本题中要求分配三个double型动态内存单元,所以size处应当为3sizeof(double)。
知识点:知识点/指针/各类型的指针及指针变量,通过指针引用各类型数据
4、以下程序运行后的输出结果是______。
main()
{ int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d\n",a,b,c);
}
答案: 25 21 37
评析:
本题考查的是格式字符的输出。
变量a、b、c分别为十进制、八进制、十六进制的25,格式字符d所代表的含义是,以带符号的十进制形式输出整数(正数不输出符号),所以本题a=25则输出值为25;b=025转换为10进制:b=28+5=16+5=21,则输出的值为21;c=0x25转换为10进制:c=216+5=32+5=37,则输出的值为37,而且printf中三个%d之用的是空格,所以输出的几个数字之间也必须是空格。
知识点:知识点/函数/变量的存储类别,变量的作用域和生存期
5、以下程序运行后的输出结果是______。
main ()
{ char a[]="Language",b[]="Programe";
char p1,p2; int k;
p1=a; p2=b;
for(k=0;k<=7;k++)
if((p1+k)==(p2+k)) printf("%c",(p1+k));
}
答案: gae
评析:
本题考查的是字符指针变量与字符数组。
解题过程:
(1)当k=0时,(p1+0)='L',(p2+0)='P',L!=P,所以没有输出
(2)当k=1时,(p1+1)='a',(p2+1)='r',a!=r,所以没有输出
(3)当k=2时,(p1+2)='n',(p2+2)='o',n!=o,所以没有输出
(4)当k=3时,(p1+3)='g',(p2+3)='g',g==g,所以输出g
(5)当k=4时,(p1+4)='u',(p2+4)='r',u!=r,所以没有输出
(6)当k=5时,(p1+5)='a',(p2+5)='a',a==a,所以输出a
(7)当k=6时,(p1+6)='g',(p2+6)='m',g!=m,所以没有输出
(8)当k=7时,(p1+7)='e',(p2+7)='e',e==e,所以输出e
(9)当k=8时结束循环
(10)输出结果为:gae。
知识点:知识点/数组的定义和引用/字符串与字符数组
6、以下程序通过函数SunFun和f(x),x=0到10,这里f(x)=x^2+1,由F函数实现,请填空。
main()
{ printf("The sun=%d\n",SunFun(10));}
SunFun(int n)
{ int x,s=0;
for(x=0;x<=n;x++)s+F(______);
return s;
}
F(int x)
{ return (______);}
答案: 1:x
2:xx+1
评析:
本题考查的是函数的调用。
解题过程:
(1)f(x)的含义为x的平方加上1
(2)所以F(int x)的返回值应该为 xx+1
(3)SunFun(10)的作用是将0到10之间所有的整数相加求和
(4)所以F()的形式参数为x。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
7、以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
#define M2
#defineN4
void SumColumMin(int a[M][N],int sum)
{ int i,j,k,s=0;
for(i=0;i<N;i++)
{ k=0;
for(j=1;j<M;j++)
if(a[k][i]>a[j][i])k=j;
s+=______ ;
}
______ =s;
}
main()
{ int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(______);
printf("%d\n",s);
}
答案: 1:a[k][i]
2:sum
3:x,&s
评析:
本题考查的是函数参数的传送。
解题过程:
(1) 执行以i为变量的for语句
1)k=0
2)执行以j为变量的for语句
①当j=1
②比较a[0][0]和a[1][0]的大小,如果a[0][0]大于a[1][0]则k=1;如果a[0][0]大于a[1][0]则k=0
③j=2所以结束循环
3)此时a[k][i]就代表第一列中最小的值,要累计所有列中的最小值的和,应该在第一空内填写 a[k][i],用变量s累加。
(2) SumColumMin是一个无返回值的函数,其中形式参数sum是一个指针类型,所以第二空应该填写 sum,用来将该指针变量指向s
(3) 当主函数main调用SumColumMin时,需要两个实际参数,一个代表被操作的数组,一个为指向累计和的指针变量,所以第三个空应该为 x,&s,分别代表已经被定义的数组x,和整型变量s的地址。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
8、以下程序的输出结果是 。
main()
{
int a=0;
a+=(a=8);
printf("%d\n",a);
}
答案: 16
评析:
本题的考查点是表达式。
表达式a+=8相当于a=a+8,对表达式逐步求解过程如下:
a+=(a+8)此时,a的值赋值为8,而不再是0;
a+=8
a=a+8
a=16
故本题答案为16。
知识点:知识点/函数/形式参数与实在参数,参数值的传递
9、以下程序的输出结果是______。
#define MAX(x,y)(x)>(y)(x):(y)
main()
{
int a = 5, b = 2,c = 3, d = 3, t;
t = MAX(a + b, c + d)10;
printf("%d\n", t);
}
答案: 7
评析:
本题的考查点是宏定义。
宏替换后,表达式t = MAX(a + b, c + d)10即变为:t = (a+b)>(c+d) (a+b) : (c + d)10;
由于(a+b)>(c+d)为真, 所以t = (a+b),即为7。
故本题答案为:7。
知识点:知识点/编译预处理/宏定义:不带参数的宏定义;带参数的宏定义
10、函数mycmp(char s,char t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s<t时返回负值。请填空。
mycmp( char s,char t)
{ while (s==t)
{ if (s=='\0')return 0;
++s;++t;
}
return(______);
}
答案: s-t
评析:
本题的考查点是比较字符串的大小。
函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,s和t表示字符串数组s和t的第一个字符,在while循环中,是通过s和t值的不断变化改变两个串的第一个字符,要返回s和t的第一个不同字符的ASCII码的差值,必须使用"s-t"得出。
故本题答案为:s-t。
知识点:知识点/函数/库函数的正确调用
11、若给fun函数的形参s传送字符串:" 6354abc",则函数的返回值是______。(字符串中包括空格)
long fun(char s[ ])
{ long n; int sign;
for (; isspace(s);s++);
sign=(s=='-')-1:1;
if (s=='+' || s=='-') s++;
for (n=0;isdigit(s);s++)
n=10n+(s-'0');
return signn;
}
答案: 6354
评析:
本题的考查点是函数的返回值。
这个函数的目的是提取出由函数的形参传送来的字符串中的数字字符,并通过相应各个字符位置计算出它们数值形式的幂,最后返回字符串中的数字字符的数值形式,所以函数的返回值应当是"6354"。
故本题答案为:6354。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
12、以下程序段的输出结果为______。
char p;int i,d;
p="PDP1-0";
for(i=0;i<7;i++)
{
d=isdigit((p+i) );
if(d!=0)
printf("%c\n",(p+i) );
}
答案: 1
评析:
本题的考查点是函数isdigit()。
这段程序的目的是按从左至右的顺序从字符串p中找出阿拉伯数字字符,如果找到,将其打印出来。最后的输出应当是:
1
0
知识点:知识点/函数/库函数的正确调用
13、下列程序中字符串中各单词之间有一个空格,则程序的输出结果是______。
# include<stringh>
main( )
{ char str1[ ]="How do you do", p1=str1;
strcpy(str1+strlen(str1)/2,"es she");
printf("%s\n",p1);
}
答案: How does she
评析:
本题的考查点是字符串拷贝函数strcpy()。
strlen(str1)是求str1字符串的长度,为13,然后,进行除2运算,结果为6。strcpy()函数是把字符串"es she"拷贝到str1后的第6个字符后面,也就是说,拷贝后的结果是"How does she"。
故本题答案为:How does she。
知识点:知识点/函数/库函数的正确调用
14、下面的函数strcat(str1,str2)实现将字符串str2拼接到字符串str1后面的功能。请填空使之完整。
char strcat(str1,str2)
char str1,str2;
{ char t=str1;
while(______)str1++;
while(______);
return(t);}
答案: 1:str1!='\0'
2:str1++=str2++
评析:
本题的考查点是字符串连接函数strcat()。
函数strcat(str1,str2)实现将字符串str2连接到字符串str1后面,所以首先要找到字符串str1的串尾,根据C语言的语法规定,一个串的串尾一定是一个隐含字符"\0",而在程序中,对字符串中字符的访问是通过两个指针变量来完成的,因此要找到字符串str1的串尾,要判断str1是否为"\0",要找到字符串str2的串尾,要判断str2是否为"\0",程序中必须可以使字符串中字符逐一顺序体现,所以在题中我们应填写"str1"和"str1++=str2++ "。
知识点:知识点/函数/库函数的正确调用
15、以下程序的输出结果是______。
void fun()
{ static int a=0;
a +=2; printf("%d",a);
}
main()
{ int cc;
for(cc=1;cc<4;cc++) fun();
printf("\n");
}
答案: 246
评析:
循环for(cc=1;cc<4;cc++)被执行了3次。在函数fun中,由于a是static型变量,所以函数第1次调用后,a= 2;第2次调用后,a = 4;第3次调用后,a = 6。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
16、若要使指针p指向一个double类型的动态存储单元,请填空。
p=______malloc(sizeof (double));
答案: (double)
评析:
函数malloc返回的是void而不是double类型指针。所以要使指针p指向一个double类型的存储单元就必须进行强制类型转换。
知识点:知识点/函数/函数的类型和返回值
17、下列程序段的输出结果是______。
main()
{ char b[]="Hello,you";
b[5]=0;
printf("%s\n",b);
}
答案: Hello
评析:
字符串中,数值0或符号'\0'表示字符串的结束。本题中,b[5]被赋了0值,表明字符串b的第六个字符就是结束标志。因此,只输出前五个字符,即Hello。
知识点:知识点/数组的定义和引用/一维数组和多维数组的定义、初始化和引用
18、下列程序的输出结果是______。
void fun(int n)
{ while((n)--);
printf("%d",++(n));
}
main()
{ int a=100;
fun(&a);
}
答案: 0
评析:
在函数fun()中,while((n)--)是先引用n的值,再做(n)-- 运算,所以循环结束时n的值为0,再做(n)-- 运算后,n的值为-1;执行++(n)后,n的值是0。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
19、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:
#define N 3
#define M 4
void LineMax(int x[N][M])
{ int i,j,p;
for(i=0;i<N;i++)
{ p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])______;
printf("The max value in line %d is %d\n",i,______);
}
}
main()
{ int x[N][M]={1,5,7,4,2,6,4,3,8,2, 3,1};
______;
}
答案: 1:p=j
2:a[i][p]
3:LineMax(x)
评析:
LineMax函数中运用了两个循环,外循环来控制数组的行,内循环控制列,在寻找每行最大的元素时,先把每行的第一个元素列下标即0赋给p,然后把后面的数逐一与之比较,如果大于它,则把大的数的列下标重新赋给p。
所以(1)处应该填p=j;
内循环结束后,便获得了本行中最大的数,即a[i][p],这也就是(2)处应该填写的答案;
而(3)处,很显然是要调用函数,关键就在于参数怎么写,函数中需要的是整个数组,所以应该把数组名做为实参,传递过去,(3)处的答案应该是LineMax(x)。注意大小写,C语言中大小写是不等价的。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
20、若有如下结构体说明:
struct STRU
{ int a,b;char c: double d;
struct STRU p1,p2;
};
请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。
______t[20]
答案: struct STRU
评析:
本题主要考查考生对C语言中结构体的掌握。
结构体类型是构造数据类型,是用户自已定义的一种类型。
结构体类型的定义:
struct 结构体类型名
{
成员项表;
};
定义结构体变量的的形式为:
struct 结构体类型名 变量1,变量2,
其中变量包括:一般变量、指针变量、数组变量等。
知识点:知识点/数组的定义和引用/一维数组和多维数组的定义、初始化和引用
21、以下程序运行后的输出结果是______。
void fun(int x,int y)
{x=x+y;y=x-y;x=x-y;
printf("%d,%d,",x,y);}
main()
{int x=2,y=3;
fun(x,y);
printf("%d,%d\n",x,y);
}
答案: 3,2,2,3
评析:
本题的考查点是交换变量的值。
被调函数fun()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。
故本题答案为:3,2,2,3。
知识点:知识点/函数/形式参数与实在参数,参数值的传递
22、下面程序的运行结果是:______。
#define N 10
#define s(x) xx
#define f(x) (xx)
main()
{int i1,i2;
i1=1000/s(N);i2=1000/f(N);
printf("%d %d\n",i1,i2);
}
答案: 1000 10
评析:
本题的考查点是宏定义。
根据宏定义,变量i1的值为1000/1010=1000,变量i2的值为1000/(1010)=10。
故本题答案为:1000和10。
知识点:知识点/编译预处理/宏定义:不带参数的宏定义;带参数的宏定义
23、下面程序的运行结果是:______。
void swap(int a,int b)
{int t;
t=a;a=b;b=t;
}
main()
{int x=3,y=5,p=&x,q=&y;
swap(p,q);
printf("%d%d\n",p,q);
}
答案: 35
评析:
本题的考查点是函数调用。
观察本题的程序可以看出,被调函数swap()实现的功能是交换变量的值,但由于函数不返回任何值,所以在main()函数中打印出的变量的值并没有发生交换,即仍为3和5。
故本题答案为:3和5。
知识点:知识点/函数/函数的类型和返回值
24、fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。
#include <stdioh>
#define N 100
int fun(int(a)[N])
{int row,col,max,min;
for(row=0;row<N;row++)
{for(max=a[row][0],col=1;col<N;col++)
if(______) max=a[row][col];
if(row==0) min=max;
else if(______) min=max;
}
return min;
}
答案: 1:max<a[row][col]
2:max<min
评析:
本题的考查点是求矩阵最大值的算法。
本题中的第一空要求判断出每一行中的最大数,应该填写条件max<a[row][col],第二空要求从N个最大值中找出最小的数,应填入条件max<min。
故本题答案为:max<a[row][col]和max<min。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
25、以下程序的输出结果是______。
#define MCRA(m) 2m
#define MCRB(n,m) 2MCRA(n)+m
main()
{ int i=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
答案: 16
评析:
本题的考查点是带参数的宏定义。
带参数的宏定义是这样展开置换的:在程序中如果有带实参的宏,则按#define 命令行中指定的字符串从左到右进行置换。如果串中包含形参,则将程序语句中相应的实参(可以是常量、变量或表达式)代替形参,如果宏定义中的字符串中的字符不是参数字符,则保留。因此对MCRB(j,MCRA(i))进行宏展开就得到了2MCRA(j)+MCRA(i),即:22j+2i=223+22=16。
故本题答案为:16。
知识点:知识点/编译预处理/宏定义:不带参数的宏定义;带参数的宏定义
26、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。
int fun ( int n)
{ int m=0,f=1,i;
for(i=1; i<=n; i++)
{ m+=if;
f=______;
}
return m;
}
main()
{ printf("m=%d\n",______);}
答案: 1:-f
2:fun(10)
评析:
本题的考查点是C程序设计。根据程序写出运行结果。
考察的知识点主要是函数的调用。本题利用一个fun函数来完成题目要求的计算。程序中f起的作用是控制if的符号,看的出,偶数位都为负值,所以f的值为(-1)^(i+1),最后要求输出m的值,在输出中调用fun函数,并把实参10传给n。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
27、以下程序运行后的输出结果是______。
main()
{ int i,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{ n[i]=n[i-1]2+1;
printf("%d ",n[i]);
}
}
答案: 1 3 7 15
评析:
本题的考查点是C程序设计。根据程序写出运行结果。
该程序考察的是数组的知识点,n是一个有5个元素,且元素值全为0的数组。程序运行过程时先进行for循环,i=1时,n[1]=n[0]2+1,此时n[1]=1;执行i++;i=2时,再进行循环,n[2]=n[1]2+1,此时n[2]=3,再执行i++,此时i=3,继续循环,n[3]=n[2]2+1,此时n[3]=7,然后i=4时,n[4]=n[3]2+1,此时n[4]=15。循环结束。注意输出函数中%d后有空格。
知识点:知识点/数组的定义和引用/一维数组和多维数组的定义、初始化和引用
28、请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。
______( double,double);
main()
{ double x,y;
scanf("%1f%1f",&x,&y);
printf(%1f\n",max(x,y));
}
double max(double a,double b)
{ return(a>b a:b);}
答案: double max
评析:
本题的考查点是C程序设计。调试程序,把不完善的程序进行修改和补充,使之能得到正确的结果。
主函数里可以看到调用了一个max函数,函数在被调用之前需要先定义,所以要求填空的内容应该是对函数进行定义的语句。由题目内容也可以看出此函数是double型的。
知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用
29、有以下程序
void f(int y,int x)
{ y=y+x; x=x+y;}
main()
{ int x=2,y=4;
f(y,&x);
printf("%d %d\n",x,y);
}
执行后输出的结果______。
答案: 8 4
评析:
f函数中变量x传递的是变量的地址,可以实现值的变换,而变量y是传递的值,执行完f后,y的值是变了,但main函数中的y并未变化。也就是说由于"单向传送"的"值传递"方式,形参值的改变无法传给实参。
知识点:知识点/函数/形式参数与实在参数,参数值的传递
31、C语言程序的基本单位是______
答案:函数
32、设有说明语句:char a= '\72';则变量a包含______个字符、
答案:1
33、c语言是一种______(选择面向对象或面向过程)高级程序设计语言。
答案:面向过程
34、C语言中唯一的三目运算符是______
答案:条件运算符# :
35、C语言中结束一次循环的语句是______
答案:continue
36、C语言中结束整个循环的语句是______
答案:break
37、二维数组a中元素a[2][2]的值是______ a[4][5]={{1,2,3},{3,2,1,6},{1}};
答案:0
38、写出下面个逻辑表达式的值,设a=3,b=4,则c=5 a || b+c && b-c=______
答案:1
39、写出下面个逻辑表达式的值,设a=3,b=4,则! (a+b)+c –1 && b+ c/2 =______
答案:1
40、在C语言中打开文件的函数名称是______
答案:fopen#fopen()
41、在C语言中关闭文件的函数名称是______
答案:fclose#fclose()
42、C语言中基本的数据类型有______
答案:int float char # 整型 实型 字符型
43、设y是int型变量,请写出判断y为奇数的关系表达______
答案:y%2!=0 # y%2==1 # y%2
44、以下程序运行后的输出结果是______
main()
{ int i=10,j=0;
do
{ j=j+i; i-;
while(i>2);
printf("%d\n",j);
}
答案:52
45、设有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298;则输出结果为______
答案:8921
46、以下程序输出的最后一个值是______
int ff(int n)
{ static int f=1;
f=fn;
return f;
}
main()
{ int i;
for(i=1;i<=5;i++) printf("%d\n",ff(i));
}
答案:120
47、设有以下程序:
main()
{ int a, b, k=4, m=6, p1=&k, p2=&m;
a=pl==&m;
b=(p1)/(p2)+7;
printf("a=%d\n",a);
printf("b=%d\n",b);
}
执行该程序后,a的值为______b的值为______
答案:0 @ 7
48、 函数fun的功能是:累加数组元素中的值。n为数组中元素的个数。累加的和值放入x所指的存储单元中。
fun(int b[], int n ,int y)
{for(k=0;______;k++) r=r+b[k];
y=______;
}
答案:k<n @ r
51、以下程序运行后的输出结果是______
main()
{ char m;
m='B'+32; printf("%c",m);
}
答案:b
52、以下程序运行后的输出结果是______
main()
{ int a=1,b=3,c=5;
if (c=a+b) printf("yes\n");
else printf("no\n");
}
答案:yes
你想输入多少输入多少,我就输入4个分数测试。
#include<stdioh>#include<malloch>
typedef struct stud
{
int score;
struct stud next;
}STD;
STD insertScore(STD stdHead,STD stdTail);//录入成绩
void printfSTD(STD stdHead);//打印链表数据
int tjSTD(STD stdHead);//统计 返回[3]数组,分别表示最高分 最低分 超过平均分人数
int main()
{
int redata=NULL;
STD stdHead=(STD )malloc(sizeof(STD));
stdHead->next=NULL;
STD stdTail=NULL;
do{
stdTail=insertScore(stdHead,stdTail);
}while(stdTail);
printfSTD(stdHead);
redata=tjSTD(stdHead);
printf("最高分:%d,最低分:%d,超过平均分的人数:%d\n",redata[0],redata[1],redata[2]);
return 0;
}
void printfSTD(STD stdHead)//打印数据
{
while(stdHead->next!=NULL)
{
printf("%d\n",stdHead->next->score);
stdHead=stdHead->next;
}
}
int tjSTD(STD stdHead)//统计 返回[3]数组,分别表示最高分 最低分 超过平均分人数
{
int max=-1,min=-1,sum=0,count=0,reData;
float ave;
STD stdHeadSave=stdHead;
reData=(int )malloc(sizeof(int)3);
while(stdHead->next!=NULL)
{
if(max==-1 || max<stdHead->next->score)
max=stdHead->next->score;
if(min==-1 || min>stdHead->next->score)
min=stdHead->next->score;
sum=sum+stdHead->next->score;
count++;
stdHead=stdHead->next;
}
ave=(float)sum/count;
printf("总人数:%d,平均分:%f\n",count,ave);
count=0;
stdHead=stdHeadSave;
while(stdHead->next!=NULL)
{
if(stdHead->next->score>ave)
count++;//大于平均分的人数
stdHead=stdHead->next;
}
reData[0]=max;reData[1]=min;reData[2]=count;
return reData;
}
STD insertScore(STD stdHead,STD stdTail)//录入成绩
{
int score;
printf("输入成绩(输入-1结束录入):");
scanf("%d",&score);
if(score==-1)
return NULL;
STD stdNew=(STD )malloc(sizeof(STD));
stdNew->score=score;
stdNew->next=NULL;
if(stdHead->next==NULL)
stdHead->next=stdNew;
else
stdTail->next=stdNew;
stdTail=stdNew;
return stdTail;
}
第一题:#include<stdioh>
void main()
{
int a[10],b[9],i=0;
for(;i<10;i++)
{
printf("请输入第%d个数",i+1);
scanf("%d",&a[i]);
}
for(i=1;i<10;i++)
b[i-1]=a[i]-a[i-1];
for(i=0;i<9;i++)
{
if(i%3==0)printf("\n");
printf("%d ",b[i]);
}
}
运行结果:
第二题:#include<stdioh>
void main()
{
char a[100];int i=0;
printf("请输入一串字符按回车结束");
scanf("%s",a);
while(1)
{
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
printf("%c",a[i]);
i++;
if(a[i]==0)break;
}
printf("\r\n");
}
运行结果:
第三题:(以两名学生为例,其他只要改变对应的值即可,照着框架来即可)#include<stdioh>
void main()
{
int a[2][5],i,j;
for(i=0;i<2;i++)
{
for(j=0;j<5;j++)
{
printf("请输入第%d个学生,第%d门成绩",i+1,j+1);
scanf("%d",&a[i][j]);
}
printf("\n");
}
int sum,csum=0;
printf("%14c第1门课%4c第2门课%4c第3门课%4c第4门课%4c第5门课%4c总分\n",32,32,32,32,32,32);
for(i=0;i<2;i++)
{
sum=0;
printf("第%d个学生",i);
for(j=0;j<5;j++)
{
printf("%6c%d",32,a[i][j]);
printf("%3c",32);
sum=sum+a[i][j];
}
csum=csum+sum;
printf("%5c%d",32,sum);
printf("\n");
}
int temp;
printf("班级总分 ");
for(j=0;j<5;j++)
{
temp=0;
for(i=0;i<2;i++)
temp=temp+a[i][j];
printf("%6c%d",32,temp);
printf("%2c",32);
}
printf("%5c%d\n",32,csum);
printf("\n");
}
运行结果:
第四题:#include<stdioh>
void main()
{
int a[10],i=0,j,temp;
for(;i<10;i++)
{
printf("请输入第%d个数",i+1);
scanf("%d",&a[i]);
}
for(j=0;j<=9;j++)
{
for (i=0;i<10-j;i++)
if (a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i] );
printf("\n");
}
运行结果:
学习是要用心的,多动脑,多思考学到的东西才是自己的。喔,对了给分哟!!!!!
炎炎下日,一个学期末又到了,老师要给学生期末进行考核,给学生鼓励性的评语,督促学生努力学生。以下是我为你整理的 考核评语 ,供您阅读参考。
学期末学生考核评语一1 该生自入校以来思想上积极要求进步,政治上努力寻求发展,积极参加政治学习和政治活动;学习刻苦认真,专业知识过硬;为人诚恳,能尊敬师长,团结同学,有较强的责任心和集体荣誉感有团队意识和合作精神;总之该生是一名全面发展的大学生。
2 该生勤奋努力,积极向上,性格开朗,勇于挑战自我。 学习态度 端正,认真学习各种专业知识,具备一定的英语听说读写能力。参加过各种 社会实践 活动,发挥自身特长,挖掘自身潜力,逐步提高学习能力和分析处事能力,培养锻炼了一定的组织协调能力和管理能力。生活中,团结同学,兴趣广泛,创造力强,勇于迎接新的挑战。综上,该生是一名全面发展的优秀大学生
3 该生自入校以来,在政治上高标准,高要求,积极以实际行动向党组织靠拢,先已发展成中共党员,学习认真刻苦,学习成绩优秀,曾获校奖学金,在校期间担任班级组织委员,校社团会长,工作任劳任怨,乐于帮助同学,深受辅导员和班主任的好评,为人诚实,有团队意识和协作精神,总之,该生世一名各方面全面发展的优秀大学生。
4 该生有良好的思想觉悟及党性素养,自入校以来政治上高标准、严要求,现已发展成为中共党员;学习态度端正,专业知识过硬,学习成绩优秀,曾获校奖学金并被评为“三好学生”、“优秀学生干部”等荣誉称号;在校期间曾任分团委宣传委员助理、后任党支部纪检委员,工作任劳任怨,组织协调能力强,深受广泛好评;为人诚实守信,有强烈的团队意识和协作精神。总之该生是一名各方面全面发展的优秀大学生。
5 该生自入校以来思想上积极要求进步,政治上努力寻求发展,积极参加政治学习和政治活动;学习勤奋认真,专业成绩优秀,积极参加志愿者活动,在校期间担任 08通信一班班长,曾获校一等奖学金,并被评为校“三好学生”、校“优秀学生干部”等荣誉称号;为人踏实守信,尊师敬长,乐于助人,有团队意识和合作精神,总之该生是一名全面发展的优秀大学生。
6 该生自入校以来,在政治上高标准、严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动,现即将发展成为中共预备党员;在校期间,乐于帮助同学,为人诚实守信,有团队意识和协作精神;学习认真刻苦,专业知识过硬,学习成绩优秀,曾担任院学生会部长一职;总之该生是一名各方面全面发展的优秀学生。
7 该生自入校以来,在政治上高标准,严要求,学习刻苦认真,专业知识过硬,学习成绩优异,获得了江苏省二级c语言证书,工作任劳任怨,乐于帮助同学,深受辅导员老师的好评。为人诚实守信,有团队意识和协作精神,总之该生是一名各方面发展全面的优秀大学生。
8 该生自入校以来能积极参加政治学习和政治活动;学习刻苦认真,专业成绩优秀,尤其在社会实践方面有特长,为人诚实守信, 有很强的责任心有团队意识和合作精神;能尊师敬长团结同学;总之该生是一名全面发展的优秀大学生。该生自入校以来,在政治上高标准、严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治生活,现已发展成为中共党员;学习刻苦认真,专业知识过硬,学习成绩优秀,每年都获得校奖学金和校三好学生;在校期间担任院分团委宣传部干事,工作任劳任怨,获得“优秀学生干部”称号;为人诚实守信,有团队意识和协作精神;总之该生是一名各方面全面发展的优秀大学生。
9 该生自入校以来,在政治上高标准,严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动;学习刻苦认真,专业知识过硬,学习成绩优秀。该生乐于帮助同学,深受辅导员班主任好评,为人诚实守信,有团队意识和协作精神总之,该生是一名各方面全面发展的优秀大学生。
10 该生自入校以来,在政治上高标准、严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动;学习刻苦认真,专业知识过硬,学习成绩不错;在校期间虽未获得什么称号但是表现还是不错的;在学习上乐于帮助同学,得到身边同学的好评,为人诚实守信,有团队意识和协作精神;总而言之,该生在学习上还是在交际生活上都是个不错的大学生。
11 该生自入校以来,在政治上高标准,严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动,现已发展成为中共党员;学习上认真勤奋,专业知识过硬,学习成绩优秀,曾获的校三等奖学金,三好学生,优秀学生干部等荣誉;在校期间担任班级团支书,工作任劳任怨,乐于助人,受到老师和辅导员的好评,为人正直,有良好的团队合作意识;总之该生是一名各方面全面发展的优秀大学生。
12 该生自入校以来,在政治上高标准、严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动,学习刻苦认真,专业知识过硬,学习成绩优秀,工作任劳任怨,乐于帮助同学,性格开朗,团结友爱,深受辅导员班主任好评,为人诚实守信,有团队意识和协作精神,总之该生是一名各方面全面发展的优秀大学生
13 该生自入校以来,在政治上高标准,严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动,现已发展为中共预备党员;学习认真刻苦,专业知识过硬,学习成绩优秀,生活上严格自律,乐于帮助同学,深受辅导员班主任好评;为人诚实守信,有团队意识和协作精神;总之该生是各方面全面发展的优秀大学生。
14 该生聪明踏实,为人诚实守信,自我管理能力强,学习刻苦认真,专业知识过硬,学习优秀,能经常通过思考提出创新想法,在校期间曾担任科协电子部部长,工作认真负责,尽心尽职,能灵活处理突发事件,乐于帮助同学,深受辅导员好评,曾获“团学工作先进者”称号,课余时间积极参加社会实践活动,积累 经验 ,有团队意识和协作精神,曾获“暑期三下乡社会实践活动二等奖”。
15 该生自入校以来,在政治上高标准、严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动,现已发展成为中共预备党员;学习认真刻苦,专业知识过硬,学习成绩优秀,曾获校二等奖学金,并被评为“三好学生”等荣誉称号;在校期间在宿舍担任舍长,工作任劳任怨,乐于帮助同学,宿舍连续三年获得“文明宿舍”称号;为人诚实守信,有团队意识和协作精神;总之该生是一名各方面全面发展的优秀学生。
16 该生自入校以来,在政治上高标准、严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动,现已发展成为中共党员;学习认真刻苦,专业知识过硬,学习成绩优秀,曾获校二等奖学金,并被评为“三好学生”等荣誉称号;在校期间担任班长,学习部副部长,学生党支部组织委员,工作任劳任怨,乐于帮助同学,其所在宿舍连续三年获得“文明宿舍”称号;为人诚实守信,有团队意识和协作精神;总之该生是一名各方面全面发展的优秀学生。
17 该生自入校以来积极参加政治学习和政治活动,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动,现已发展成为中共党员;学习刻苦认真,专业知识过硬,学习成绩优秀,曾获校奖学金,并被评为“三好学生”等荣誉称号;在校期间担任校科学技术协会办公室部副部长,工作任劳任怨,多次被评为院优秀学生干部,深受辅导员班主任好评;为人诚实守信,有团队意识和协作精神;总之该生是一名各方面全面发展的优秀大学生。该生在入校以来,在政治上高标准,严要求,积极以实际行动向党组织靠拢,积极参加政治学习和政治活动;学习刻苦认真,专业知识过硬,学习成绩良好;在校期间担任生活委员,工作任劳任怨,乐于帮助同学深受辅导员班主任好评;为人诚实守信,有团队意识和协作精神;总之该生是一名各方面全面发展的优秀大学生。
学期末学生考核评语二1 ____同学在校期间学习刻苦,成绩在班上一直名列前茅,多次获得校三好学生称号,且他在学习之外还积极参加了学校的各种活动,一直是同班同学的学习榜样,望其能继续努力,争取取得更大的成绩。
2 ____同学在学校遵守纪律,成绩良好,特别是体育方面,带领院男篮取得理工杯第七名的历史最好成绩,平时在生活上也十分活泼, 爱好 广泛,只是现在状态不好,希望他能在接下来的大学生活中找到目标,取得更好的成绩。
3 ____同学对人很温和,有副好脾气。对待学习态度端正,思维灵活,接受能力较强,勤于思考,大胆质疑你在班里从不张扬,总是默默无闻的,用自己优秀的学习成绩证明着你的实力。是我们班上出了名的小画家。
4 ____同学有很多优秀的品质,遵守纪律,认真学习,和同学相处时宽容大度,热心班上的人和事。凡是认真做的事,就会有好的结果。能勤奋学习,能吃苦,成绩有进步。
5 ____同学对班级工作认真负责,在任何情况下,总是稳稳当当、扎扎实实地完成老师交给的任务。爱好广泛,勤学苦练。勤奋好学,在学习上有钻劲,学习成绩稳步提高。
6 ____同学纯真可爱,对待同学热情大方。能自觉遵守学校的各项 规章制度 ,自觉抵制各种不良思想。对待学习态度端正,上课能够专心听讲,课下能够认真完成作业。思维灵活,接受能力较强,勤于思考,大胆质疑。劳动时,总表现得很积极。
7 ____同学眉清目秀,机智敏捷,身上洋溢着青春的气息,是一位有出息的女孩。课堂上,总是聚精会神。作业又干净又整齐,批阅时真是赏心悦目。碰到难题也总是全力以赴、刻苦钻研,又懂得合理安排各门功课的学习时间。
8 ____同学敢想、敢说、敢问、敢辩,学习刻苦认真,善于思考,勇于进取。懂得合理安排各门功课的学习时间,喜欢寻找各门学科有效的 学习 方法 ,对待学习生活中的每一件事都是一丝不苟,勤奋好学,在学习上有钻劲,学习成绩有明显的优势。
9 ____对待学习生活中的每一件事都是一丝不苟,勤奋好学,在学习上有钻劲,学习成绩稳步提高。
10 ____同学担任班长更是能严格要求自己,积极组织各种活动,决心把班集体建设的更好,对工作认真负责的劲真让人佩服。能严格遵守班级和宿舍纪律,热爱集体,关爱同学。对待学习同样认真,上课大胆发言,课下认真完成作业,学习成绩优秀。
11 ____同学言谈举止斯斯文文,衣服穿得干干净净。能自觉遵守学校的各项规章制度,自觉抵制各种不良思想。课堂上,神情专注,学习态度认真。能根据自己的实际,选用恰当的学习方法。
12 ____同学随时都是笑眯眯的,自然地流露出心灵的善良。能严格遵守班级和宿舍纪律,热爱集体,关爱同学。上课总是全神贯注,无论是作业还是考试,书写总是工工整整。各科都有很大的进步!
13 ______同学眉清目秀,机智敏捷,身上洋溢着青春的气息,是一位有出息的女孩。各科都有很大的进步。对于班里的事情总能放在心上,劳动积极肯干。
14 ____同学平时乐于助人,待人热情,学习成绩良好,在学习本专业知识之余还积极学习 其它 方面的知识,辅修了本校的国贸专业且学习刻苦,望他能够坚持不懈,创造一个圆满的大学生活。
15 ____同学在校期间勤奋努力,爱好 体育运动 ,成绩良好,对待同学也十分热情,积极参加各种班集体活动,热爱班集体,希望他能找到自己的长处,加以努力,取得更好的成绩。
16 ____同学性格开朗,和同学们相处的很好,而且热爱体育运动,在校运会上取得较好的成绩。只是学习成绩有点倒退,学习状态也不太好,希望他能在接下来的日子里好好努力,争取更好的成绩。
17 ____同学在校期间遵守学校各项规章制度,学习比较刻苦,跟同学们相处融洽,只是平时玩DOTA游戏的时间有点多,希望他能在接下来的大学生活中放更多的精力在学习上,争取 考研 能考上更好的学校。
18 ____同学在校期间学习刻苦,而且自理能力强,学习之余还努力当家教赚取生活费,但是也因此影响的平时的学习时间,学习成绩稍有退步,希望他能在以后的生活中兼顾好学习和打工时间,取得较大的进步。
19 ____同学性格活泼开朗,跟班上的同学相处融洽,学习成绩比较稳定,只是平时玩DOTA游戏的时间较多,希望他能在接下来的大学生活中放更多的精力在学习上,争取通过大学英语四级考试。
20 ____同学在校期间学习刻苦,学习成绩在班上也名列前茅,平时待人友善,与同学们相处很好,热爱班集体,是班上同学的榜样,望他能在以后的大学生活中继续保持,争取取得更好的成绩。
21 ____同学在校期间品行良好,学习认真刻苦,学习成绩良好,经常帮助其他同学,深受大家的欢迎,且热爱体育运动,身体素质好,希望他能继续努力,以自己的实力取得更好的成绩。
22 ____同学在校期间学习较刻苦,成绩稳定,到课率极高,热爱班集体,平时乐于帮助同学,生活作风好,受到同学们的欢迎,希望他能努力提高普通话水平,早日通过普通话水平测试。
23 ____同学可爱活泼,深受同学们的喜爱,在学习上也十分刻苦,学习成绩一直是班上的前几名,不过身体素质较差,经常生病,希望他以后能多锻炼身体,争取取得更大的成绩。
24 ____同学性格开朗,讲义气,对待同学真诚,受到大家的欢迎,学习上比较刻苦,成绩稳定,不过玩DOTA游戏时间稍长,希望以后能多放时间在学习上,争取通过大学英语四级考试。
学期末学生考核评语三1____同学幽默开朗,对待同学友善,学习成绩稳定,在校期间遵守学校纪律,且热爱体育运动,不过玩DOTA游戏时间稍长,希望以后能多放时间在学习上,争取取得更好的成绩。
2____同学在校期间遵守学校纪律,平时学习刻苦,成绩优秀,在班上一直是前几名,生活上也比较勤俭节约,而且乐于帮助同学,不过不爱参加其他课余活动,希望以后能积极参加,过一个充实的大学生活。
3____同学遵守学校纪律,在学生会担任要职,为同学们做出了巨大的贡献,平时乐于帮助同学,关心班集体,学习成绩稳定,希望他能继续努力,投入更多的精力在学习上,争取取得更好的成绩。
4____同学聪明活泼,幽默开朗,热爱体育运动,身体素质好,学习成绩稳定,只是平时玩游戏娱乐时间稍多,希望他能静下心来好好学习,争取通过自己的实力取得更好的成绩,并通过大学英语四级考试。
5____同学在校期间遵守学习学校纪律,和同学相处融洽,只是因为家里发生了变故,受到了一点挫折,成绩发生了下滑,希望他能够振作起来,投入更多的心思到学习上,争取取得更大的成绩。
6____同学幽默开朗,遵守学校纪律,乐于帮助同学,生活上勤俭节约,不铺张浪费,值得同学们学习,只是缺乏对学习的重视,成绩有所下滑,希望他能够好好努力,争取取得更好的成绩。
7____同学在校期间遵守学校纪律,乐于帮助同学,曾担任年级长,为年级做出巨大的贡献,不过也因此耽误了学习,学习成绩下滑较大,相信他能调整好自己的状态,取得更好的成绩。
8____同学热爱体育运动,一直是班上的灌篮高手,而且学习成绩良好,乐于帮助同学,与同学们相处融洽,不过玩DOTA游戏时间稍长,相信他能调整好学习和娱乐的时间分配,取得更好的成绩。
9____同学活泼开朗,热爱班集体,关心同学,热爱体育运动,身体素质好,且学习比较刻苦,学习成绩良好,希望他能够保持良好的状态,继续努力,争取在各个方面都能取得更好的成绩。
10____同学在校期间遵守学校纪律,爱好体育运动,带动大家锻炼身体,平时乐于助人,与同学相处融洽,且学习成绩良好,希望他能好好努力,争取以自己的实力取得更好的成绩。
11____聪明伶俐用在你身上一点也不夸张,清纯活泼是你可爱的内在因素。你热爱学习,尊敬师长,劳动积极,对一切新事物充满了好奇,强烈的求知欲为你打开了广阔的知识世界,在浩瀚的知识海洋里,我相信你会用理想为舵辛勤做桨,划向成功的彼岸!
12____你是一个积极乐观的女孩,也是个认真负责的学委。两年半的工作中,虽然有过失误,但却一直很尽心。在今后的人生旅途中,望你多一点沉稳,多一些坚韧,走的更稳,更远。
13____你思维敏捷,常常语出惊人。你常常带着笑容,即使遇到困难和挫折,自信仍然隐藏在你的嘴角。须知:知识的高峰在等待着你的攀登,无限的风光在静候你的包览,只有用勤奋作梯,用努力作扶手,你才能一步步走向胜利的巅峰
14____你天性聪颖,思维敏捷,善于学习。踏实的你凭借自己的拼搏为自己打造了一片天地,学习成绩保持在班级的上游,遵守纪律,热爱集体,尊敬老师。在你的学习过程中还会遇到困难,希望你能以更坚定的信念更饱满的热情投入到无垠的知识海洋中去,汲取更丰富的营养,完善自己的人生
15____你稳重大方,为人坦诚;作为党支部书记,管理中显露出你非凡的能力和艺术,深受同学和老师信任;你热爱学习,勤于思考,学习主动积极,一直处以优秀。在今后的学习中,只要你继续保持良好的心态和坚持不懈的精神,一定会取得更大的成功。
16____你性情开朗积极乐观,懂得享受生活;你团结同学,具有强大的亲和力;你尊敬老师,珍爱友谊,拥有阳光一般灿烂的心情。大方的你是个人见人爱的女孩。在今后的学习中,相信你会以你执着的信念和勤奋的汗水争取属于你的成功!
17____你天性活泼好,乐观开朗,热心豁达,对一切都充满了好奇。你永远那么自信,嘴角总挂着胜利的微笑。大学里的成绩一直名列前茅。是同学们的榜样。
18____你开朗活泼;热情勇敢,是班上的文艺骨干。积极的人生态度,勇于向困难挑战,学习上孜孜不倦都让大家看到了一个可爱你你。相信经过你的拼搏,一定会达到你的理想。
19____你纯真善良,性格率真,对待朋友热情真诚,对老师尊敬有礼貌。自从转到这个班集,你的努力得到了大家的认可,并在极短的时间内融入了这个集体。加油!相信你还能做得更好!
20____同学在校期间遵守学校纪律,待人友善,和同学们相处融洽,只是玩游戏的时间稍多,对学习重视不够,相信他能够慢慢改变,投入更多的精力在学习上,争取取得更好的成绩。
#include<stdioh> /引用库函数/
#include<stdlibh>
#include<ctypeh>
#include<stringh>
typedef struct /定义结构体数组/
{
char num[10]; /学号/
char name[20]; /姓名/
int score; /成绩/
}Student;
Student stu[80]; /结构体数组变量/
int menu_select() /菜单函数/
{
char c;
do{
system("cls"); /运行前清屏/
printf("\t\tStudents' Grade Management System\n"); /菜单选择/
printf("\t\t | 1 Input Records |\n");
printf("\t\t | 2 Display All Records |\n");
printf("\t\t | 3 Sort |\n");
printf("\t\t | 4 Insert a Record |\n");
printf("\t\t | 5 Delete a Record |\n");
printf("\t\t | 6 Query |\n");
printf("\t\t | 7 Statistic |\n");
printf("\t\t | 8 Add Records from a Text File|\n");
printf("\t\t | 9 Write to a Text file |\n");
printf("\t\t | 0 Quit |\n");
printf("\t\t\n");
printf("\t\t\tGive your Choice(0-9):");
c=getchar(); /读入选择/
}while(c<'0'||c>'9');
return(c-'0'); /返回选择/
}
int Input(Student stud[],int n) /输入若干条记录/
{int i=0;
char sign,x[10]; /x[10]为清除多余的数据所用/
while(sign!='n'&&sign!='N') /判断/
{ printf("\t\t\tstudent's num:"); /交互输入/
scanf("\t\t\t%s",stud[n+i]num);
printf("\t\t\tstudent's name:");
scanf("\t\t\t%s",stud[n+i]name);
printf("\t\t\tstudent's score:");
scanf("\t\t\t%d",&stud[n+i]score);
gets(x); /清除多余的输入/
printf("\t\t\tany more records(Y/N)");
scanf("\t\t\t%c",&sign); /输入判断/
i++;
}
return(n+i);
}
void Display(Student stud[],int n) /显示所有记录/
{
int i;
printf("\t\t\t-----------------------------------\n"); /格式头/
printf("\t\t\tnumber name score\n");
printf("\t\t\t-----------------------------------\n");
for(i=1;i<n+1;i++) /循环输入/
{
printf("\t\t\t%-16s%-15s%d\n",stud[i-1]num,stud[i-1]name,stud[i-1]score);
if(i>1&&i%10==0) /每十个暂停/
{printf("\t\t\t-----------------------------------\n"); /格式/
printf("\t\t\t");
system("pause");
printf("\t\t\t-----------------------------------\n");
}
}
printf("\t\t\t");
system("pause");
}
void Sort_by_num(Student stud[],int n) /按学号排序/
{ int i,j,p,q,s;
char t[10];
for(i=0;i<n-1;i++) /冒泡法排序/
for(j=0;j<n-1-i;j++)
if(strcmp(stud[j]num,stud[j+1]num)>0)
{strcpy(t,stud[j+1]num);
strcpy(stud[j+1]num,stud[j]num);
strcpy(stud[j]num,t);
strcpy(t,stud[j+1]name);
strcpy(stud[j+1]name,stud[j]name);
strcpy(stud[j]name,t);
p=&stud[j+1]score;
q=&stud[j]score;
s=p;
p=q;
q=s;
}
}
int Insert_a_record(Student stud[],int n) /插入一条记录/
{char x[10]; /清除多余输入所用/
printf("\t\t\tstudent's num:"); /交互式输入/
scanf("\t\t\t%s",stud[n]num);
printf("\t\t\tstudent's name:");
scanf("\t\t\t%s",stud[n]name);
printf("\t\t\tstudent's score:");
scanf("\t\t\t%d",&stud[n]score);
gets(x);
n++;
Sort_by_num(stud,n); /调用排序函数/
printf("\t\t\tInsert Successed!\n"); /返回成功信息/
return(n);
}
int Delete_a_record(Student stud[],int n) /按姓名查找,删除一条记录/
{ char s[20];
int i=0,j;
printf("\t\t\ttell me his(her) name:"); /交互式问寻/
scanf("%s",s);
while(strcmp(stud[i]name,s)!=0&&i<n) i++; /查找判断/
if(i==n)
{ printf("\t\t\tnot find!\n"); /返回失败信息/
return(n);
}
for(j=i;j<n-1;j++) /删除操作/
{
strcpy(stud[j]num,stud[j+1]num);
strcpy(stud[j]name,stud[j+1]name);
stud[j]score=stud[j+1]score;
}
printf("\t\t\tDelete Successed!\n"); /返回成功信息/
return(n-1);
}
void Query_a_record(Student stud[],int n) /查找并显示一个记录/
{ char s[20];
int i=0;
printf("\t\t\tinput his(her) name:"); /交互式输入/
scanf("\t\t\t%s",s);
while(strcmp(stud[i]name,s)!=0&&i<n) i++; /查找判断/
if(i==n)
{ printf("\t\t\tnot find!\n"); /输入失败信息/
return;
}
printf("\t\t\this(her) number:%s\n",stud[i]num); /输出该学生信息/
printf("\t\t\this(her) score:%d\n",stud[i]score);
}
void Statistic(Student stud[],int n) /新增功能,输出统计信息/
{ int i,j=0,k=0,sum=0;
float aver; /成绩平均值/
for(i=0;i<n;i++) /循环输入判断/
{
sum+=stud[i]score;
if(stud[j]score>stud[i]score) j=i;
if(stud[k]score<stud[i]score) k=i;
}
aver=10sum/n;
printf("\t\t\tthere are %d records\n",n); /总共记录数/
printf("\t\t\tthe hignest score:\n"); /最高分/
printf("\t\t\tnumber:%s name:%s score:%d\n",stud[j]num,stud[j]name,stud[j]score);
printf("\t\t\tthe lowest score:\n"); /最低分/
printf("\t\t\tnumber:%s name:%s score:%d\n",stud[k]num,stud[k]name,stud[k]score);
printf("\t\t\tthe average score is %52f\n",aver); /平均分/
}
int AddfromText(Student stud[],int n) /从文件中读入数据/
{ int i=0,num;
FILE fp; /定义文件指针/
char filename[20]; /定义文件名/
printf("\t\t\tInput the filename:");
scanf("\t\t\t%s",filename); /输入文件名/
if((fp=fopen(filename,"rb"))==NULL) /打开文件/
{ printf("\t\t\tcann't open the file\n"); /打开失败信息/
printf("\t\t\t");
system("pause");
return(n);
}
fscanf(fp,"%d",&num); /读入总记录量/
while(i<num) /循环读入数据/
{
fscanf(fp,"%s%s%d",stud[n+i]num,stud[n+i]name,&stud[n+i]score);
i++;
}
n+=num;
fclose(fp); /关闭文件/
printf("\t\t\tSuccessed!\n");
printf("\t\t\t");
system("pause");
return(n);
}
void WritetoText(Student stud[],int n) /将所有记录写入文件/
{
int i=0;
FILE fp; /定义文件指针/
char filename[20]; /定义文件名/
printf("\t\t\tWrite Records to a Text File\n"); /输入文件名/
printf("\t\t\tInput the filename:");
scanf("\t\t\t%s",filename);
if((fp=fopen(filename,"w"))==NULL) /打开文件/
{
printf("\t\t\tcann't open the file\n");
system("pause");
return;
}
fprintf(fp,"%d\n",n); /循环写入数据/
while(i<n)
{
fprintf(fp,"%-16s%-15s%d\n",stud[i]num,stud[i]name,stud[i]score);
i++;
}
fclose(fp); /关闭文件/
printf("Successed!\n"); /返回成功信息/
}
void main() /主函数/
{
int n=0;
for(;;)
{
switch(menu_select()) /选择判断/
{
case 1:
printf("\t\t\tInput Records\n"); /输入若干条记录/
n=Input(stu,n);
break;
case 2:
printf("\t\t\tDisplay All Records\n"); /显示所有记录/
Display(stu,n);
break;
case 3:
printf("\t\t\tSort\n");
Sort_by_num(stu,n); /按学号排序/
printf("\t\t\tSort Suceessed!\n");
printf("\t\t\t");
system("pause");
break;
case 4:
printf("\t\t\tInsert a Record\n");
n=Insert_a_record(stu,n); /插入一条记录/
printf("\t\t\t");
system("pause");
break;
case 5:
printf("\t\t\tDelete a Record\n");
n=Delete_a_record(stu,n); /按姓名查找,删除一条记录/
printf("\t\t\t");
system("pause");
break;
case 6:
printf("\t\t\tQuery\n");
Query_a_record(stu,n); /查找并显示一个记录/
printf("\t\t\t");
system("pause");
break;
case 7:
printf("\t\t\tStatistic\n");
Statistic(stu,n); /新增功能,输出统计信息/
printf("\t\t\t");
system("pause");
break;
case 8:
printf("\t\t\tAdd Records from a Text File\n");
n=AddfromText(stu,n); /新增功能,输出统计信息/
break;
case 9:
printf("\t\t\tWrite to a Text file\n");
WritetoText(stu,n); /循环写入数据/
printf("\t\t\t");
system("pause");
break;
case 0:
printf("\t\t\tHave a Good Luck,Bye-bye!\n"); /结束程序/
printf("\t\t\t");
system("pause");
exit(0);
}
}
}
10天足够了,学习基本语法,基础知识,熟悉典型例题,上机调试一些程序加深印象。
考试过容易。
希望有一天你能真正喜欢这个行业,那个时候你学习起来会充满乐趣,学起来会觉得轻松,效果也会更好。


























数字的四字祝福语.jpg)












