本文目录一览:
- 1、用C语言编写一个求定积分的程序
- 2、c语言编一个学生成绩统计程序
- 3、c语言编写选择题计分程序
- 4、用C语言设计一个学生成绩统计程序,
- 5、1、用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;
}