C语言编程问题 成绩统计
int 优秀=0;int 良好=0;int 及格=0;int 不及格=0;int [] 10个人的成绩 = new int {100,50,60...};for(int i=0;i<10个人的成绩.lenght -1 ;i++){ if(10个人的成绩[i] <60){ 不及格++; }else if(10个人的成绩[i] <=80){ 及格++; }lse if(10个人的成绩[i] <=90){ 良好++; }lse if(10个人的成绩[i] <=100){ 优秀++; }}//然后依次输出就OK啦!
#include
#include
#include
#include
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; n<121; n++)
{
suanzi[n]=(int)(rand()*255);
}
for(n=0; n<121; n++)
{
words[n]^=suanzi[n];
}
words[120]='\0';
printf("%s",words);
getch();
return 0;
}
Dim linetxt As String
Dim c90, c80, c70, c60, c0 As Integer
Do While Not EOF(1)
Line Input #1, linetxt
If Len(Trim(linetxt)) > 0 Then
tmpArr = Split(linetxt, " ")
Select Case CDbl(tmpArr(1))
Case Is >= 90
c90 = c90 + 1
Case Is >= 80
c80 = c80 + 1
Case Is >= 70
c70 = c70 + 1
Case Is >= 60
c60 = c60 + 1
Case Else
c0 = c0 + 1
End Select
End If
Loop
Close #1
Open "c:\renshu.txt" For Output As #2
Print #2, "100-90 共:" + CStr(c90) + " 人"
Print #2, "---------------------------------------------------"
Print #2, "89-80 共:" + CStr(c80) + " 人"
Print #2, "---------------------------------------------------"
Print #2, "79-70 共:" + CStr(c70) + " 人"
Print #2, "---------------------------------------------------"
Print #2, "69-60 共:" + CStr(c60) + " 人"
Print #2, "---------------------------------------------------"
Print #2, "59-0 共:" + CStr(c0) + " 人"
Print #2, "---------------------------------------------------"
Close #2
不愧是200分的问题,问得真有水平,呵呵。。
1、成绩由文件读入
FILE *fp=("marks.txt","a");
2、选择科目,作统计表(科目代号:语文 A ; 英语 B ; 数学 C ;历史 D;地理 E。
创建数组结构体(整型数组存储分数、字符串数组存储人名)
3、 统计表格式 : 100——90 人数
89——80 人数
79——70 人数
69——60 人数
59——0 人数
条件语句、循环语句搞定
4、输出每一个学生的成绩,计算平均分并排列顺序输出。
根据数组结构体的搜索输出结构体中人名相同的学生的各门成绩
5、统计表计入文件
FILE *fp=("marks.txt","a");
fprintf(fp,"marks.txt","a");
6、按每人的均分统计:100——90 人数
89——80 人数
79——70 人数
69——60 人数
59——0 人数
方法同上
基本思路:
0.读入文件。利用指针FILE *fp=("xxx.xxx","a");
1.定义一个2维结构体数组CJ[][6];
2.cj[0][0]为空值;cj[i][0]为第i个学生的姓名;cj[i][1]为第i个学生的语文成绩;cj[i][2]为第i个学生的英语成绩;......cj[i][5]为第i个学生的地理成绩;
3.利用for循环进行统计各个分数段的人数。比较简单了。
4.定义pjCJ2维数组,记录平均成绩,以及相应的人名,利用数据排序法将成绩排序。
5.输出统计表。FILE *fp=("marks.txt","a");
fprintf(fp,"marks.txt","a");
6.方法同3。
有个建议给所有编成的初学者,
不管是遇到什么样的问题都要尽量自己去编写,在编写过程中遇到问题以后再去找老师,或其他的途径找到答案,这样你的编成技术才会提高,然而自己编写了一部分,发现错了,找到了别人编写好的了程学,拿来主义,看看是那么回事。这样不回又很大的提高的,每个人都有自己的思路,每个人都有自己的长处,不同的方法 可能达到相同的结果。
作为程序的设计者,总会或多或少的按着自己的方法去编程的,没有自己的风格,没有自己的思想,这样不可能成为一个好的,或是高级的程序设计员。
成绩文件的格式?
很想帮你,不过,你得把问题说明白。
枝娅氟脲: #include <stdio.h> #include <string.h> #include <stdlib.h> #define N 2struct student {char name[8];char num[8];float score[3];float sum,are; };struct Stunum { struct student stu[N]; int stunum; };struct Stunum *p;void scan(struct Stunum *p) {int j...
芦淞区15365081490: 学生成绩统计的编程题目C语言求帮忙~~谢啦从键盘输入一个班(全班 ?
枝娅氟脲: 给你提供一个思路: 1,建立一个含有30个节点的双向链表. 2,从键盘每输入一个学生的成绩,就把成绩存入链表里. 3,链表节点有成绩,上指针,下指针,学生姓名字符串数组. 4,当输入负值后,扫描链表,进行对成绩的各项操作即可.
芦淞区15365081490: C语言程序问题程序怎么写?求教.学生成绩统计(一维数组)从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结... - ?
枝娅氟脲:[答案] #include "stdio.h"#define N 30void main(){ int grades[N]; //所有人的分数 int upAverage[N]; //超过平均分的学生序号 int unPass[N]; //不及格的学生序号 int nNum = 0; //学生总人数 int nUpAve = 0; //超...
芦淞区15365081490: C语言问题:输入一个班某门课的成绩,统计≥80分的人数, 并计算出平均成绩,保留小数两位. - ?
枝娅氟脲: main() { int i=0,k,count=0,sum=0; float avg=0; printf("输入成绩:最后以-1结束"); for(k=0;k<=i;k++) { scanf("%d",a[i]); if(getchar()=='-1') continue; i++; } int a[i]; for(k=0;k<=i;k++) { sum+=a[k]; if(a[k]>=80) count++; } avg=sum/i; printf("≥80分的...
芦淞区15365081490: 求一篇用C语言编写的使用数组和指针统计成绩的程序代码 - ?
枝娅氟脲: void main() {int a[8] = {75, 80, 83, 85, 86, 30, 0, 0};string name[] = {"数学", "物理", "外语", "政治", "体育"};string MeanLow[4];a[6] = (a[0] + a[1] + a[2] + a[3] + a[4]) / 5;char* strAve = (char*)malloc(10);MeanLow[...
芦淞区15365081490: C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值 - ?
枝娅氟脲: #include <stdio.h>#define MAX 10struct student {char no[10];char name[10];float score[3]; }stu[MAX];float ave_course[3] = {0}; float ave_student[MAX] = {0};int max_ave_i = 0; // 存储平均分最高的学生索引 int max_course_i[3] = {0}; //存储...
芦淞区15365081490: C语言一道题目,求教教3.统计一个班的学生成绩.要求程序具有如下功能:(1) 每个学生的学号和四门功课的成绩从键盘读入.(2) 计算每个学生的总分和... - ?
枝娅氟脲:[答案] #include #define NULL0#define LEN sizeof(struct student)struct student{ long num; char name[20]; float score1; float score2; float score3; float score4; float score5; float c; float z; struct...
芦淞区15365081490: 用C语言做一个学生成绩统计系统,求帮忙(源代码..) - ?
枝娅氟脲: 可以给你.需要点时间.现在在上课.#include <stdio.h> void main() { int Password =0,i=0,sum=0; clrscr(); printf("\n===请输入密码!====\n"); while(Password != 1234) { if(i>3) { printf(" 密码错误!\n "); return; } i++; printf(" 请输入密码!...
芦淞区15365081490: C语言题 某班有五十人 要求输入学生的某门课的成绩,用函数编程统计不合格人数,输出结果 - ?
枝娅氟脲: # includ int main(){int a[i];int sum;printf("请输入成绩:");for(i=0;i<50;i++){scanf("%d",&a[i]);} for(i=0;i<50;i++){if(a[i]<60) sum++; } printf("不及格的人数为:"); printf(“%d”,sum); return 0;} 没有开发工具,可能有部分错误,你自己调一下,注意中英文
芦淞区15365081490: C语言 学生成绩统计问题 - ?
枝娅氟脲: 你的逗号用错了,你看看这个程序行不:#include#include int main(void) { int count=0,count1=0,count2=0,count3=0,count4=0,i,n; double grade,total; printf("请输入人数:"); scanf("%d",&n); total=0; count=0; for(i=1;i{ printf("请输入成绩...