Java教程

实验七^_^

本文主要是介绍实验七^_^,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

/7.1/

 1 #include <stdio.h>
 2 
 3 #define N 2
 4 
 5 // 定义结构体类型struct student,并定义STU为其别名
 6 typedef struct student
 7 {
 8     long no;
 9     char name[20];
10     int score;
11 } STU;
12 
13 // 函数声明
14 void input(STU s[], int n);
15 int findMinlist(STU s[], STU t[], int n);
16 void output(STU s[], int n);
17 
18 int main()
19 {
20     STU stu[N], minlist[N];
21     int count;
22 
23     printf("录入%d个学生信息\n", N);
24     input(stu, N);
25 
26     printf("\n统计最低分人数和学生信息...\n");
27     count = findMinlist(stu, minlist, N);
28 
29     printf("\n一共有%d个最低分,信息如下:\n", count);
30     output(minlist, count);
31 
32     return 0;
33 }
34 
35 // 输入n个学生信息,存放在结构体数组s中
36 void input(STU s[], int n)
37 {
38     int i;
39     for (i = 0; i < n; i++)
40         scanf("%ld %s %d", &s[i].no, s[i].name, &s[i].score);
41 }
42 
43 // 输出结构体s中n个元素信息
44 void output(STU s[], int n)
45 {
46     int i;
47     for (i = 0; i < n; i++)
48         printf("%ld %s %d\n", s[i].no, s[i].name, s[i].score);
49 }
50 
51 // 在结构体数组s中,查找最低分学生的记录,将其存入结构体数组t中
52 // 形参n是结构体数组s中元素个数
53 // 函数返回最低分的学生人数
54 int findMinlist(STU s[], STU t[], int n)
55 {
56    int i,j=0,min;
57    min = s[0].score;
58    for(i=0;i<n-1;i++)
59        if(s[i].score>s[i+1].score) min = s[i+1].score;
60     for(i=0;i<n;i++){
61         if(s[i].score==min){
62             t[j]=s[i];
63             j++;
64         }
65     }
66    return j;
67 }

 /7.2/

 


 1 #include <stdio.h>
 2 #include <string.h>
 3 #define N 10
 4 
 5 // 定义结构体类型struct student,并定义其别名为STU
 6 typedef struct student
 7 {
 8 long int id;
 9 char name[20];
10 float objective; /*客观题得分*/
11 float subjective; /*操作题得分*/
12 float sum;
13 char level[10];
14 } STU;
15 
16 // 函数声明
17 void input(STU s[], int n);
18 void output(STU s[], int n);
19 void process(STU s[], int n);
20 
21 int main()
22 {
23 STU stu[N];
24 
25 printf("录入%d个考生信息: 准考证号,姓名,客观题得分(<=40),操作题得分(<=60)\n", N);
26 
27 input(stu, N);
28 
29 printf("\n对考生信息进行处理: 计算总分,确定等级\n");
30 process(stu, N);
31 
32 printf("\n打印考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级\n");
33 output(stu, N);
34 
35 return 0;
36 }
37 
38 // 录入考生信息:准考证号,姓名,客观题得分,操作题得分
39 void input(STU s[], int n)
40 {
41 int i;
42 for(i=0;i<n;i++)
43 scanf("%ld %s %f %f",&s[i].id,s[i].name,&s[i].objective,&s[i].subjective);
44 }
45 
46 //输出考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级
47 void output(STU s[], int n)
48 {
49 int i;
50 printf("准考证号\t姓名\t客观题得分\t操作题得分\t总分\t等级\n"); 
51 for(i=0;i<n;i++)
52 printf("%ld\t\t%s\t%.2f\t\t%.2f\t\t%.2f\t%s\n",s[i].id,s[i].name,s[i].objective,s[i].subjective,s[i].sum,s[i].level);
53 }
54 
55 // 对考生信息进行处理:计算总分,排序,确定等级
56 void process(STU s[], int n)
57 {
58 int i,j;
59 STU t;
60 for(i=0;i<n;i++)
61 s[i].sum = s[i].objective + s[i].subjective;
62 for(i=0;i<n-1;i++){
63 for(j=i+1;j<n;j++){
64 if(s[i].sum<s[j].sum){
65 t = s[i];
66 s[i] = s[j];
67 s[j] = t;
68 }
69 }
70 }
71 for(i=0;i<n;i++){
72 if(i<=(int)n*0.1) strcpy(s[i].level,"优秀");
73 else if(i<=(int)n*0.5) strcpy(s[i].level,"合格");
74 else strcpy(s[i].level,"不合格"); 
75 }
76 }

 

 

 

 /7.3/

 1   #include <stdio.h>
 2   #include <string.h>
 3   #define N 10
 4  
 5   // 定义结构体类型struct student,并定义其别名为STU
 6   typedef struct student
 7   {
 8       long int id;
 9       char name[20];
10      float objective;  /*客观题得分*/
11      float subjective; /*操作题得分*/
12      float sum;
13      char level[10];
14  } STU;
15 
16  // 函数声明
17  void input(STU s[], int n);
18  void output(STU s[], int n);
19  void process(STU s[], int n);
20  
21  int main()
22  {
23      STU stu[N];
24  
25      printf("录入%d个考生信息: 准考证号,姓名,客观题得分(<=40),操作题得分(<=60)\n", N);
26 
27     input(stu, N);
28  
29      printf("\n对考生信息进行处理: 计算总分,确定等级\n");
30     process(stu, N);
31  
32      printf("\n打印考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级\n");
33      output(stu, N);
34  
35      return 0;
36  }
37  
38  // 录入考生信息:准考证号,姓名,客观题得分,操作题得分
39  void input(STU s[], int n)
40  { 
41     FILE *fp; 
42     fp = fopen("C:\\Users\\Lenovo\\Documents\\Tencent Files\\3235133196\\FileRecv\\examinee.txt","r");
43     int i;
44     if(fp==NULL){
45      printf("error");
46     }
47     for(i=0;i<n;i++){
48          fscanf(fp,"%ld %s %f %f",&s[i].id,s[i].name,&s[i].objective,&s[i].subjective);
49     }
50  }
51 
52  //输出考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级
53  void output(STU s[], int n)
54  {
55      int i;
56      FILE *fp;
57      fp = fopen("D:\\resule.txt","w");
58      printf("准考证号\t姓名\t客观题得分\t操作题得分\t总分\t等级\n"); 
59      for(i=0;i<n;i++){
60          printf("%ld\t\t%s\t%.2f\t\t%.2f\t\t%.2f\t%s\n",s[i].id,s[i].name,s[i].objective,s[i].subjective,s[i].sum,s[i].level);
61          fprintf(fp,"%ld\t\t%s\t%.2f\t\t%.2f\t\t%.2f\t%s\n",s[i].id,s[i].name,s[i].objective,s[i].subjective,s[i].sum,s[i].level);
62      }
63  }
64  
65  // 对考生信息进行处理:计算总分,排序,确定等级
66  void process(STU s[], int n)
67  {
68     int i,j;
69     STU t;
70      for(i=0;i<n;i++)
71        s[i].sum = s[i].objective + s[i].subjective;
72         for(i=0;i<n-1;i++){
73             for(j=i+1;j<n;j++){
74                 if(s[i].sum<s[j].sum){
75                    t = s[i];
76                    s[i] = s[j];
77                    s[j] = t;
78                 }
79             }
80         }
81        for(i=0;i<n;i++){
82            if(i<=(int)n*0.1) strcpy(s[i].level,"优秀");
83          else if(i<=(int)n*0.5) strcpy(s[i].level,"合格");
84          else strcpy(s[i].level,"不合格"); 
85        }
86  }

 

 

/7.4/

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include<string>
 4 #include<time.h>
 5 
 6 int main() {
 7 char stu[100][100] = { '\0' };
 8 int i;
 9 FILE* fp1, * fp2;
10 fp1 = fopen("D:\\2345Downloads\\list.txt", "r");
11 fp2 = fopen("lucky.txt", "w+");
12 int random;
13 int line = 1;
14 
15 srand(time(NULL));
16 
17 for (i = 0; i < 5; i++)
18 {
19 
20 random = rand() % 80 + 1;
21 
22 while (line < random)
23 {
24 if (fgetc(fp1) == '\n')
25 {
26 line++;
27 }
28 
29 }
30 fgets(stu[i],50 , fp1);
31 rewind(fp1);
32 line = 1;
33 
34 }
35 
36 for (i = 0; i < 5; i++)
37 {
38 printf("%s", stu[i]);
39 fprintf(fp2, "%s", stu[i]);
40 }
41 printf("\n");
42 fprintf(fp2, "\n");
43 
44 
45 return 0;
46 }

 

 

这篇关于实验七^_^的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!