写了个创建和查找函数:
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站建设、六合网络推广、小程序制作、六合网络营销、六合企业策划、六合品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供六合建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
#include stdio.h
#include string.h
#include stdlib.h
typedef struct Information
{
char no[20];
int english;
int math;
int computer;
struct Information *next;
}INFORMATION, *PINFORMATION;
PINFORMATION head = NULL;
void createLink()
{
int n, i;
PINFORMATION p, q;
printf ("请输入?个学生的信息:");
scanf ("%d", n);
head = (PINFORMATION)malloc(sizeof(INFORMATION));
head-next = NULL;
p = head;
for (i = 1; i = n; ++i){
q = (PINFORMATION)malloc(sizeof(INFORMATION));
fflush(stdin);
printf ("请输入第%d个学生的学号:", i);
scanf ("%s", q-no);
printf ("请输入第%d个学生的英语成绩:", i);
scanf ("%d", q-english);
printf ("请输入第%d个学生的数学成绩:", i);
scanf ("%d", q-math);
printf ("请输入第%d个学生的计算机成绩:", i);
scanf ("%d", q-computer);
q-next = NULL;
p-next = q;
p = p-next;
}
}
void searchInformation()
{
char no[20];
PINFORMATION p = head-next;
int flag = 0;
printf ("请输入要查找的学生学号:");
fflush(stdin);
scanf ("%s", no);
while (p != NULL){
if (strcmp(p-no, no)==0){
flag = 1;
break;
}
p = p-next;
}
if (flag){
printf ("学号:%s\t英语成绩:%d\t数学成绩:%d\t计算机成绩:%d\n", p-no, p-english, p-math, p-computer);
}
else {
printf ("没有找到学号为%s的学生记录!\n", no);
}
}
int main()
{
createLink();
searchInformation();
return 0;
}
问题中的代码有这么两个需要改进的地方:
1. main函数中score的定义,不能写成float score[][5]={0};,因为这样的写法二维数组score将只有1行5列,所以没法存储多个学生的4门课成绩信息,而且还需要写成 float score[A+1][N+1]; ,因为问题中的代码里面下标没有从0开始,这样就行列都需要多留一个空间了。
2. Readscore函数中,scanf里面应该使用%f,而不是%d,因为成绩数据是浮点数。这样就可以正确的读入成绩数据了
#include stdio.h
#include stdlib.h
#include string.h
#include conio.h
int main()
{
char words[121]= {77,-29,-128,-8,-40,-85,-10,-4,-22,101,97,-50,89,-79,-45,14,73,81,98,-105,-126,-52,51,106,80,44,57,2,-1,99,-34,-9,-36,-26,123,-100,-54,-56,-19,74,117,2,90,-106,-
109,-43,-19,-103,-31,-119,17,-59,-121,49,-112,112,-20,68,-52,-33,-30,-1,-66,117,
109,116,67,-57,105,-99,77,-97,-48,58,106,-65,-47,113,-121,43,9,-63,37,47,84,-65,
-22,59,-31,-124,-69,111,56,79,-72,108,-81,126,5,99,-27,86,93,-102,-50,68,-66,66,
116,36,-110,105,107,-118,88,-8,77,-90,-78,-69,12
};
char suanzi[121];
int n;
srand(652);
for(n=0; n121; n++)
{
suanzi[n]=(int)(rand()*255);
}
for(n=0; n121; n++)
{
words[n]^=suanzi[n];
}
words[120]='\0';
printf("%s",words);
getch();
return 0;
}
#includestdio.h
int main()
{
void max(int [][5]);
void averagek(int [][5]);
void averages(int [][5]);
int a[10][5],i;
for(i=0;i=9;i++)
{
printf("请输入第%d名学生五科成绩 :",i+1);
scanf("%d %d %d %d %d",a[i][0],a[i][1],a[i][2],a[i][3],a[i][4]);
}
averages(a);
averagek(a);
max(a);
return 0;
}
void averages(int a[][5])
{
int m,i;
for(i=0;i=9;i++)
{
m=(a[i][0]+a[i][1]+a[i][2]+a[i][3]+a[i][4])/5;
printf("第%d名学生平均分为:%d\n",i+1,m);
}
}
void averagek(int a[][5])
{
int m,i;
for(i=0;i=4;i++)
{
m=(a[0][i]+a[1][i]+a[2][i]+a[3][i]+a[4][i]+a[5][i]+a[6][i]+a[7][i]+a[8][i]+a[9][i])/10;
printf("第%d科成绩平均分为%d\n",i+1,m);
}
}
void max(int a[][5])
{
int i,j,max,k,g;
max=a[0][0];
for(i=0;i=9;i++)
for(j=0;j=4;j++)
{
if(a[i][j]max)
{
max=a[i][j];
k=i;
g=j;
}
}
printf("第%d名学生的第%d科成绩取得最高分:%d\n",k+1,g+1,max);
}
#includestdio.h
int max(int fenshu[])
{
int max = 0;
for(int i = 0;i 10;i++)
{
if(fenshu[i] max)
{
max = fenshu[i];
}
}
return max;
}
int min(int fenshu[])
{
int min = 101;
for(int i = 0;i 10;i++)
{
if(fenshu[i] min)
{
min = fenshu[i];
}
}
return min;
}
int main()
{
int fenshu[10];
printf("请输入十个整数(0~100)\n");
for(int i = 0; i 10;i ++)
{
scanf("%d",fenshu[i]);
}
printf("最高分数是%d,最低分数是%d",max(fenshu),min(fenshu));
}