您的位置:

c语言计分程序,c语言分数约分程序

本文目录一览:

用C语言编写一个求定积分的程序

这是辛普森积分法。

给你写了fun_1( ),fun_2(),请自己添加另外几个被积函数。

调用方法 t=fsimp(a,b,eps,fun_i);

a,b --上下限,eps -- 迭代精度要求。

#includestdio.h

#includestdlib.h

#include math.h

double fun_1(double x)

{

return 1.0 + x ;

}

double fun_2(double x)

{

return 2.0 * x + 3.0 ;

}

double fsimp(double a,double b,double eps, double (*P)(double))

{

int n,k;

double h,t1,t2,s1,s2,ep,p,x;

n=1; h=b-a;

t1=h*(P(a)+P(b))/2.0;

s1=t1;

ep=eps+1.0;

while (ep=eps)

{

p=0.0;

for (k=0;k=n-1;k++)

{

x=a+(k+0.5)*h;

p=p+P(x);

}

t2=(t1+h*p)/2.0;

s2=(4.0*t2-t1)/3.0;

ep=fabs(s2-s1);

t1=t2; s1=s2; n=n+n; h=h/2.0;

}

return(s2);

}

void main()

{

double a,b,eps,t;

a=0.0; b=3.141592653589793238; eps=0.0000001;

// a definite integral by Simpson Method.

t=fsimp(a,b,eps,fun_1);

printf("%g\n",t);

t=fsimp(a,b,eps,fun_2);

printf("%g\n",t);

// ...

printf("\n Press any key to quit...");

getch();

}

c语言编一个学生成绩统计程序

#include

stdio.h

void

main()

{

int

i,

n,

reno;

float

score[30],

avr,

a,

b,

c;

char

name[30][9];

for(i

=

0;

i

30;

i++)

{

printf("%d号的成绩:",

i+1);

scanf("%f",

score[i]);

if(score[i]

0)

break;

printf("%d号的姓名:",

i+1);

scanf("%s",

name[i]);

}

n

=

i;

printf("统计不及格人数:\n");

reno

=

0;

avr

=

0;

for(i

=

0;

i

n;

i++)

{

if(

score[i]

60)

{

reno++;

printf("%d,

%s\n",

i+1,

name[i]);

}

avr

+=

score[i];

}

printf("不及格人数为%d\n\n",

reno);

printf("统计成绩在平均分及平均分之上的学生人数:\n");

avr

/=

n;reno

=

0;

for(i

=

0;

i

n;

i++)

{

if(score[i]

=

avr)

{

reno++;

printf("%d,

%s\n",

i+1,

name[i]);

}

}

printf("成绩在平均分及平均分之上的学生人数为%d\n\n",

reno);

printf("统计各分数段的人数及所占百分比(分数段为60,60~79,=80):\n");

a

=

b

=

c

=0;

for(i

=

0;

i

n;

i++)

{

if(score[i]

60)

a++;

else

if(score[i]

=

80)

c++;

else

b++;

}

printf("60:\t%.1f%%\n60~79:\t%.1f%%\n=80:\t%.1f%%\n",100*a/n,100*b/n,100*c/n);

}

c语言编写选择题计分程序

我假定你说的这些选择题的位置是固定的,我的意思就是第二题后面是第四题,中间没有别的题了。也就是说你输入的必须准确,#includestdio,h#includectype.h#define S 5 //每题的得分,以后不一样的话可以更改int main(){int anwser[40]={'A','D','D','C','A','A','B','D','A','C','C','A','A','B','D','A','B','C','C','B','D','A','A','A','A','C','C','D','B','D','B','D','C','C','C','C','B','A','D','C','C','C','D'};//这些是正确答案 数组大小那块我就不要求可移植性了 你懂得....int sum=0;//总分数计数器int m=0;char ch; while((ch=getchar())!=EOFch!='\n'){ ch=toupper(ch);//转成大写 if(ch==answer[m]) sum+=S; m++;} printf("%d\n",sum);return 0;} 这位帅哥还是美女的......我相信你是懂c语言的....因为没有在编译器上实际操作...可能会有些纰漏..(刚完吃饭...)你要按照下列格式输入答案比如(大小写随便):a b c d .....(这个程序能否正确运行你输入准确是先决条件....)当然了 我这算是个提示程序....还可以有很方便的。。就是你在一整个文件中输入所有同学的答案 然后在另一个文件中显示对应分数。。。如果你是一个学c的学生的话 你该知道怎么弄 要是不是的话 你可以再找我要........

用C语言设计一个学生成绩统计程序,

改好了,问题不大,我都写在注释里了:

#includestdio.h

#includemath.h

#define N 35

#define COURSE 4

struct student

{

char num[10];/*如果把num当作字符串的话,不能用int,而是char数组。不然就用int num;*/

float score[4];

float sum;

float aver;

}

stu[N];

void main()

{

void Input(struct student stu[]);

void count(struct student stu[]);

void sort(struct student stu[]);

void find(struct student stu[]);

sqrt(1.0);/*不知你用什么编译器,如果TC的话,有个BUG。就是结构体里有float型的话,要加这句,不然会报错*/

Input(stu);

count(stu);

find(stu);

/*为什么你的程序里没有执行着几个函数咧?*/

}

void Input(struct student stu[])

{

int i,j;

printf("Enter No.and score as :score1 score2 score3 score4\n");

for (i=0;iN;i++)

{

scanf("%s",stu[i].num);/*用%s输入字符串*/

for (j=0;jCOURSE;j++)

{

scanf("%f",stu[i].score[j]);

}

}

}

void count(struct student stu[])

{

float sum,aver;

int i,j;

for(i=0;iN;i++)

{

sum=0;

for(j=0;j5;j++)

sum+=stu[i].score[j];

aver=sum/4;

stu[i].sum=sum;

stu[i].aver=aver;

}

}

void sort(struct student stu[])

{

int i,j,k;

struct student temp;

for(i=0;iN;i++)

{

k=i;

for(j=i+1;jN;j++)

if(stu[k].sumstu[j].sum)k=j;

if(k!=i)

{

temp=stu[i];

stu[i]=stu[k];

stu[k]=temp;

}

}

printf("number score1 score2 score3 score4 sum average \n");

for(i=0;iN;i++)

printf("%-8s%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);

/*输出学号也用%s*/

}

void find(struct student stu[])

{

int flag=0;

int i,j;

sort(stu) /*;//stu[];)*/

printf("the student of one score=90 and 前五名:\n");

/*这两句调换一下位置,不然输出不太好*/

for(i=0;i5;i++)

{

int sum=0;

for(j=0;j4;j++)

if(stu[i].score[j]=90 )sum++;

if(sum)

{

flag=1;

printf("%-8s%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);

}

}

if(flag==0)

printf(" not exist!\n");

/*这个判断放在循环体之外,不然会输出好多" not exist!"*/

}

另外,注意:

1.个班的学生成绩最多35人。你的咋是固定35人捏?

2.第四点要求:根据用户要求输入课程号显示该门课程成绩在90以上且总分在前五的学生的 学号和各科成绩,平均分和总分

你似乎没有看清题意吧?是要用户输入课程号耶。

这些你自己应该知道怎么做吧?

1、用C语言编写一个程序计算自己的期末考试成绩的总分。(要求各科成绩从键盘

#includestdio.h

int main()

{ int n,i,s=0,x;

printf("考了几门功课?\n");

scanf("%d",n);

printf("请输入%d门功课的成绩: \n");

for(i=0; in; i++)

{ scanf("%d",x);

s+=x;

}

printf("总分是:%d\n",s);

return 0;

}