峰哥哥站撸 level
获赞
45
粉丝
0
关注
0
看过 TA
9
东南大学
2017
C++
IP属地:未知
小白
私信
关注
2019-11-14 21:05
东南大学 C++
0 点赞 评论 收藏
分享
2018-10-22 18:36
已编辑
东南大学 C++
峰哥哥站撸:以下是我提交的源代码(题目是华为2016校园招聘上机笔试题第二题) #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_CNT 8 typedef struct {     char file_name[20];     int rank;          //记录出现的顺序     int cnt; }ERROR_FILE; ERROR_FILE error_file[10]; //这里不定义数组的数量会有问题么? void Swap(ERROR_FILE *a, ERROR_FILE *b) {     ERROR_FILE temp = *a;     *a = *b;     *b = temp; } void delete_repeat(char *temp,int *index) {     int i,flag = 0;     for(i = 0;i < (*index);i++)     {         if(strcmp(temp,error_file[i].file_name) == 0)         {             error_file[i].cnt++;             flag = 1;             break;         }             }     if(flag == 0)     {         strcpy(error_file[*index].file_name,temp);         error_file[*index].cnt++;         error_file[*index].rank = *index;         (*index)++;     } } void sort_error_file(int num) {     int i,j;     for(i = 0;i < num;i++)     {         for(j = 1;j < num - i;j++)         {             if(error_file[j - 1].cnt < error_file[j].cnt)             {                 Swap(&error_file[j - 1],&error_file[j]);             }             else if(error_file[j - 1].cnt == error_file[j].cnt)             {                 if(error_file[j - 1].rank > error_file[j].rank)                 {                     Swap(&error_file[j - 1],&error_file[j]);                     }             }         }     } } int main() {     int len,i,j,x,num = 0;     char* s = (char *)malloc(sizeof(char));     char* temp_reslut = (char *)malloc(sizeof(char));     while(gets(s))     {         len = strlen(s);         if(len <= 0)             break;         i = len - 1;         while(s[i] != 92) //反斜杠对应的ascii码             i--;         strcpy(temp_reslut,&s[i+1]);          delete_repeat(temp_reslut,&num);     }     sort_error_file(num);     x = num > MAX_CNT ? MAX_CNT : num;     for(j = 0;j < x;j++)     {         if(j < x - 1)         {             printf("%s %d ",error_file[j].file_name,error_file[j].cnt);         }         else          {             printf("%s %d",error_file[j].file_name,error_file[j].cnt);         }     }     return 0; }
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务