扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
#includestdio.h
为改则等地区用户提供了全套网页设计制作服务,及改则网站建设行业解决方案。主营业务为网站设计制作、网站制作、改则网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
int Input(long num[], float score[]);
void Total1(long num[], float score[], int n);
void Total2(long num[],float score[],int n);
int main(){
long num[30];
float score[30];
int n;
n=Input(num, score);
Total1(num, score,n);
Total2(num, score,n);
return 0;
}
int Input(long num[], float score[]){
int i=0;
while(i30){
scanf("%ld%f",num[i],score[i]);
if(score[i]0)
break;
i++;
}
return i;
}
void Total1(long num[], float score[], int n){
int i,c=0;
for(i=0; in; i++){
if(score[i]60){
c++;
printf("%ld\n",num[i]);
}
}
printf("The score60 is:%d\n",c);
}
void Total2(long num[],float score[],int n){
int i,c=0;
float a=0;
for(i=0; in; i++)
a+=score[i];
a/=n;
for(i=0; in; i++){
if(score[i]=a){
c++;
printf("%ld\n",num[i]);
}
}
printf("The score=averge is:%d\n",c);
}
#includestdio.h
/*函数功能:从键盘输入一个班学生某门课的成绩及其学号
当输入成绩为负值时,输入结束
函数参数: 长整型数组num,存放学生学号
实型数组score,存放学生成绩
函数返回值:学生总数
*/
int ReadScore(long num[],float score[])
{
int i,j,n=0;
printf("please input students number:\n");
for(i=0;i5;i++)
{
scanf("%d",num[i]);
n=n+1;
}
for(i=0;i5;i++)
{
printf("please input No.%d student's score:\n",i+1);
for(j=0;j1;j++)
scanf("%f",score[j]);
}
return(n);
}
/*函数功能:统计不及格人数并打印不及格学生名单
函数参数:长整型数组num,存放学生学号
实型数组score,存放学生成绩
整型变量n,存放学生总数
函数返回值:不及格人数
*/
int GetFail(long num[], float score[], int n)
{
int i,fail;
for(i=0;i5;i++)
if(score[i]60)
{
printf("the fail student number is:%d\n",i);
fail=fail+1;
}
printf("there are %d students failed:\n",fail);
return (fail);
}
/*函数功能:计算全班平均分
函数参数:实型数组score,存放学生成绩
整型变量n,存放学生总数
函数返回值:平均分
*/
float GetAver(float score[], int n)
{
float sum=score[0],aver;
int i;
for(i=0;i5;i++)
{
sum=sum+score[i];
aver=sum/n;
}
printf("the average score is %f\n",aver);
return (aver);
}
/*函数功能:统计成绩在全班平均分及平均分之上的学生人数并打印其学生名单
函数参数:长整型数组num,存放学生学号
实型数组score,存放学生成绩
整型变量n,存放学生总数
函数返回值:成绩在全班平均分及平均分之上的学生人数
*/
int GetAboveAver(long num[], float score[], int n)
{
int i,above=0;
float aver;
aver=GetAver(score,n);
for(i=0;i5;i++)
if(score[i]=aver)
{
above=above+1;
for(i=0;i5;i++)
printf("%d",num[i]);
}
printf("there are %d students above the average\n",above);
return(above);
}
/*函数功能:统计各分数段的学生人数及所占的百分比
函数参数:实型数组score,存放学生成绩
整型变量n,存放学生总数
函数返回值:无
*/
void GetDetail(float score[], int n)
{
int i,x=0,y=0,z=0,w=0;
float percent;
n=0;
for(i=0;i5;i++)
if(score[i]=60score[i]70)
{
x=x+1;
percent=(float)(x/n);
printf("there are %d students above 60\n",x);
printf("\n%f",percent);
}
else if(score[i]=70score[i]80)
{
y=y+1;
percent=(float)(y/n);
printf("there are %d students above 70\n",y);
printf("\n%f",percent);
}
else if(score[i]=80score[i]90)
{
z=z+1;
percent=(float)(z/n);
printf("there are %d students above 80\n",z);
printf("\n%f",percent);
}
else if(score[i]=90score[i]100)
{
w=w+1;
percent=(float)(w/n);
printf("there are %d students above 90\n",w);
printf("\n%f",percent);
}
}
void main()
{
long num[5];
float score[5],aver;
int n=0,i,fail,above;
n=ReadScore(num,score);
aver=GetAver(score, n);
fail=GetFail(num, score,n=0);
above=GetAboveAver(num,score, n=0);
}
改到没有语法错误了,不过逻辑有没有错误就不知道了。主要在于函数里的行参不能赋值和强制转换函数float 应写为(float)i;而不能是float(i).
/*8、编写三个函数:(1)输入10个职工的姓名和职工号,建议函数原型:void Input(char Name[10][20], int WorkNo[10]);
(2)按职工号由小到大排序,姓名顺序也随之调整, void Sort(char Name[10][20], int WorkNo[10]);
(3)要求输入一个职工号,用折半查找法找出该职工的姓名, int Search(char Name[10][20], int WorkNo[10],char *pName)。
在主函数中调用函数输入10个职工的姓名和职工号;然后排序;然后从键盘上输入要查找的职工号,输出该职工姓名。*/
#includestdio.h
#includestring.h
void Input(char Name[10][20], int WorkNo[10])
{
int i;
for(i=0;i10;i++)
{
scanf("%s",Name[i]);
scanf("%d",WorkNo[i]);
}
}
void Sort(char Name[10][20], int WorkNo[10])
{
int i,j,t;
char f[20];
for(i=0;i9;i++)
for(j=0;j9-i;j++)
if(WorkNo[j]WorkNo[j+1])
{
t=WorkNo[j];
WorkNo[j]=WorkNo[j+1];
WorkNo[j+1]=t;
/* f=Name[0][j];
Name[0][j]=Name[0][j+1];
Name[0][j+1]=f;*/
strcpy(f,Name[j]);
strcpy(Name[j],Name[j+1]);
strcpy(Name[j+1],f);
}
}
int Search(char Name[10][20], int WorkNo[10],int *pName)
{
int i;
int low=0,high=9;
while (low=high)
{
i=(low+high)/2;
if(WorkNo[i]==*pName)
return i;
else if (WorkNo[i]*pName)
high=i-1;
else low=i+1;
}
return -1;
}
void main()
{
char a[10][20];
int b[10];
int *p;
int c,k;
Input(a,b);
Sort(a,b);
printf("请输入编号\n");
scanf("%d",c);
p=c;
k=Search(a,b,p);
if(k==-1)
printf("没有该人");
else
printf("编号为%d,名字为%s\n",b[k],a[k]);
}
#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;
}
#include stdio.h
float no_name(float s[], int n)
{
int i,c;
printf("不及格学生名单:");
for(i=0;in;i++)
{
if(s[i]60)
{
c++;
printf("成绩:%.1f ",s[i]);
}
}
return c;
}
float average_name(float s[], int n)
{
float sum=0,average;
int i,c1;
for(i=0;in;i++)
{
sum=+s[i];
}
average=sum/n;
printf("平均分以上学生:\n");
for(i=0;i30;i++)
{
if(s[i]average)
{
c1++;
printf(" 成绩:%.1f ",s[i]);
}
}
printf("\n");
return c1;
}
void GD(float s[], int n)
{
int stu[5]={0};
int i;
for(i=0;in;i++)
{
if(s[i]0s[i]60)
{
stu[0]++;
}
else if(s[i]=60s[i]=69)
{
stu[1]++;
}
else if(s[i]=70s[i]=79)
{
stu[2]++;
}
else if(s[i]=80s[i]=89)
{
stu[3]++;
}
else if(s[i]=90s[i]101)
{
stu[4]++;
}
}
printf("0 - 60: 人数=%d,百分比为%d%c 。\n",stu[0],stu[0]*100/n,37);
printf("60- 69: 人数=%d,百分比为%d%c 。\n",stu[1],stu[1]*100/n,37);
printf("70- 79: 人数=%d,百分比为%d%c 。\n",stu[2],stu[2]*100/n,37);
printf("80- 89: 人数=%d,百分比为%d%c 。\n",stu[3],stu[3]*100/n,37);
printf("90- 100 人数=%d,百分比为%d%c 。\n",stu[4],stu[4]*100/n,37);
}
int main(void)
{
int i;
float sorce[30];
for(i=0;i30;i++)
{
scanf("%f",sorce[i]);
}
printf("不及格人数:%f\n",no_name(sorce, 30));
printf("超过平均分数:%f\n",average_name(sorce, 30));
GD(sorce, 30);
return 0;
}
1.变量i没有声明
2.数组没有写对
3.两个{
4.还有参数问题
float no_name(float s[30])改为float no_name(float s[],int n)
传递参数时是no_name(sorce, 30);,这样就对了
char s[10][21];
int i;
for(i=0;i10;i++)
{
scanf("%s",s[i]);
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流