70,037
社区成员
发帖
与我相关
我的任务
分享#include<stdio.h>
#define n 10
void menu();
int inputScore(int s[],int length);
void outputScore(int s[],int length);
int queryScore(int score[],int length,int xScore);
int aversum(int score[],int length);
int main()
{
int score[n],avers = 0;
int cha = 0,chengji = 0,find,x;
int choice;
while(1)
{
fflush(stdin);
menu();
printf("请选择1.2.3.4.5\n");
choice = getchar();
switch(choice)
{
case '1':
chengji = inputScore(score,n);
break;
case '2':
outputScore(score,chengji);
break;
case '3':
printf("请输入要查找的成绩:");
scanf("%d",&x);
find = queryScore(score,chengji,x);
if (find >= 0)
printf("%d\n",find);
else printf("对不起没有\n");
break;
case '4':
avers = aversum(score,chengji); //应该传递的是chengji而不是n
printf("%d\n",avers);
break;
case '5':
exit(0);break;
default:printf("输入错误!\n");break;
}
}
return 0;
}
void menu()
{
printf("****************************************\n");
printf("* 学生成绩管理系统 *\n");
printf("* *\n");
printf("* 1.录用 *\n");
printf("* 2.输出 *\n");
printf("* 3.查询 *\n");
printf("* 4.排序 *\n");
printf("* 5.结束 *\n");
printf("* *\n");
printf("****************************************\n");
}
int inputScore(int score[],int length)
{
int i = 0;
int tmp;
printf("请输入学生的成绩(以-1结束输入):\n");
for(i = 0;tmp != -1 && i < length;)
{
printf("第%d个学生:",i+1);
scanf("%d",&tmp);
if(tmp >= 0&&tmp <= 100)
{
score[i] = tmp;
i++; // i++应该放在这里,应为只有在成绩满足条件的情况下,才将成绩放入数组
}
}
return i;
}
void outputScore(int score[],int length)
{
int i=0;
printf("学生成绩如下:\n");
for(i=0;i<length;i++)
printf("%d %-3d\n",i+1,score[i]);
printf("\n");
}
int queryScore(int score[],int length,int xScore)
{
int i;
for(i = 0;i < length;i++)
{
if(xScore == score[i])
{
return i+1; // 返回i+1比较好,因为你要看到的是返回第几个的学生,这样形象
}
}
return -1;
}
int aversum(int score[],int length)
{
int i;
int sum = 0;
int aversum = 0;
for(i = 0; i < length; i++)
{
sum += score[i];
}
return sum / length;
} // 总的来说,成绩应该用浮点数表示
#include <stdio.h>
#include <stdlib.h>
#define n 10
void menu();
int inputScore(int s[],int length);
void outputScore(int s[],int length);
int queryScore(int score[],int length,int xScore);
double aversum(int score[],int length);
int main()
{
int score[n];
double avers = 0;
int cha = 0,chengji = 0,find,x;
int choice;
while(1)
{
fflush(stdin);
menu();
printf("请选择1.2.3.4.5\n");
choice = getchar();
switch(choice)
{
case '1':
chengji = inputScore(score,n);
break;
case '2':
outputScore(score,chengji);
break;
case '3':
printf("请输入要查找的成绩:");
scanf("%d",&x);
find = queryScore(score,chengji,x);
if (find >= 0)
printf("%d\n",find);
else
printf("对不起没有\n");
break;
case '4':
avers = aversum(score,chengji);
printf("%d\n",avers);
break;
case '5':
exit(0);break;
default:printf("输入错误!\n");break;
}
}
return 0;
}
void menu()
{
printf("****************************************\n");
printf("* 学生成绩管理系统 *\n");
printf("* *\n");
printf("* 1.录用 *\n");
printf("* 2.输出 *\n");
printf("* 3.查询 *\n");
printf("* 4.排序 *\n");
printf("* 5.结束 *\n");
printf("* *\n");
printf("****************************************\n");
}
int inputScore(int score[],int length)
{
int i = 0;
int tmp;
printf("请输入学生的成绩(以-1结束输入):\n");
for(i = 0;tmp != -1 && i < length;i++)
{
printf("第%d个学生:",i+1);
scanf("%d",&tmp);
if(tmp >= 0&&tmp <= 100)
{
score[i] = tmp;
}
}
return i-1;//----
}
void outputScore(int score[],int length)
{
int i=0;
printf("学生成绩如下:\n");
for(i=0;i<length;i++)
printf("%d %-3d\n",i+1,score[i]);
printf("\n");
}
int queryScore(int score[],int length,int xScore)
{
int i;
for(i = 0;i < length;i++)
{
if(xScore == score[i])
{
return i;
}
}
return -1;
}
double aversum(int score[],int length)
{
int i;
int sum = 0;
int aversum = 0;
for(i = 0;i < length;i++)
{
sum += score[i];
}
return sum / length;
}
#include <stdio.h>
void Itob(int n,char s[],int b);
int main()
{
int n,b;
char s[20];
scanf("%d %d",&n,&b);
Itob(n,s,b);
return 0;
}
void Itob(int n,char s[20],int b)
{
int i,j;
i=0;
j=0;
char a;
int c;
while( n != 0 )
{
c= n % b;
(c < 10)?(s[i]= c+'0'):(s[i]=c+'A');
n = n / b;
i++;
}
s[i]= '\0';
i--;
while(i >= j)
{
a=s[i];
s[i]=s[j];
s[j]=a;
i--;
j++;
}
printf("%s\n",s);
}