谁能帮我解释一下每句C语言的意思?看不懂啊···解答了再加50分 50
还有,这个程序的头文件的作用是什么啊????这个问题帮我回答下还有,这个程序的头文件的作用是什么啊????这个问题帮我回答下#include<stdio.h>#inclu...
还有,这个程序的 头文件 的作用是 什么啊????这个问题帮我 回答下
还有,这个程序的 头文件 的作用是 什么啊????这个问题帮我 回答下
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
struct ln
{
char word[20];
int time;
} s[30000];
int cmp(const void *p,const void *q)
{
return (*(struct ln*)q).time - (*(struct ln*)p).time;
}
int main()
{
int i, j, num;//num
char word[20];
num=0;
for(i=0; i<30000; i++)
{
s[i].time=1;
}
printf("please enter any word, enter ctrl+z will be finished:\n\n");
while(scanf("%s", word)==1)
{
for(i=0; i<num; i++)
{
if(strcmp(s[i].word, word)==0)
{
s[i].time++;
break;
}
}
if(i>=num)
{
strcpy(s[num].word, word);
num++;
}
}
qsort(s, num, sizeof(struct ln), cmp);
printf("\n\nword\t\t\ttime\n\n");
for(i=0; i<5; i++)
{
printf("%-25s%-d\n", s[i].word, s[i].time);
}
} 展开
还有,这个程序的 头文件 的作用是 什么啊????这个问题帮我 回答下
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
struct ln
{
char word[20];
int time;
} s[30000];
int cmp(const void *p,const void *q)
{
return (*(struct ln*)q).time - (*(struct ln*)p).time;
}
int main()
{
int i, j, num;//num
char word[20];
num=0;
for(i=0; i<30000; i++)
{
s[i].time=1;
}
printf("please enter any word, enter ctrl+z will be finished:\n\n");
while(scanf("%s", word)==1)
{
for(i=0; i<num; i++)
{
if(strcmp(s[i].word, word)==0)
{
s[i].time++;
break;
}
}
if(i>=num)
{
strcpy(s[num].word, word);
num++;
}
}
qsort(s, num, sizeof(struct ln), cmp);
printf("\n\nword\t\t\ttime\n\n");
for(i=0; i<5; i++)
{
printf("%-25s%-d\n", s[i].word, s[i].time);
}
} 展开
2个回答
展开全部
#include <stdio.h> //printf函数所在的库
#include <math.h> //qsort函数所在的库
#include <string.h> //strcmp函数所在的库
#include <stdlib.h>
struct ln
{
char word[20];
int time;
} s[30000]; //声明一个结构, 一个element是字符串,另一个element表示这个字符串被输入的次数
int cmp(const void *p,const void *q)
{
return (*(struct ln*)q).time - (*(struct ln*)p).time;
}//比较两个字符串的次数
int main()
{
int i, j, num;//num
char word[20];
num=0;
for(i=0; i<30000; i++) //将结构数组s的次数全部置1
{
s[i].time=1;
}
printf("please enter any word, enter ctrl+z will be finished:\n\n");
while(scanf("%s", word)==1) //获取输入的字符串
{
for(i=0; i<num; i++)
{
if(strcmp(s[i].word, word)==0) //将输入字符串与结构s中已有字符串比较,已存在则次数加1
{
s[i].time++;
break;
}
}
if(i>=num)
{
strcpy(s[num].word, word); //如果输入的字符串不存在则保存在s中
num++;
}
}
qsort(s, num, sizeof(struct ln), cmp); //根据字符串被输入的次数快速排序
printf("\n\nword\t\t\ttime\n\n");
for(i=0; i<5; i++)//输出次数最多的前5个字符串
{
printf("%-25s%-d\n", s[i].word, s[i].time);
}
}
#include <math.h> //qsort函数所在的库
#include <string.h> //strcmp函数所在的库
#include <stdlib.h>
struct ln
{
char word[20];
int time;
} s[30000]; //声明一个结构, 一个element是字符串,另一个element表示这个字符串被输入的次数
int cmp(const void *p,const void *q)
{
return (*(struct ln*)q).time - (*(struct ln*)p).time;
}//比较两个字符串的次数
int main()
{
int i, j, num;//num
char word[20];
num=0;
for(i=0; i<30000; i++) //将结构数组s的次数全部置1
{
s[i].time=1;
}
printf("please enter any word, enter ctrl+z will be finished:\n\n");
while(scanf("%s", word)==1) //获取输入的字符串
{
for(i=0; i<num; i++)
{
if(strcmp(s[i].word, word)==0) //将输入字符串与结构s中已有字符串比较,已存在则次数加1
{
s[i].time++;
break;
}
}
if(i>=num)
{
strcpy(s[num].word, word); //如果输入的字符串不存在则保存在s中
num++;
}
}
qsort(s, num, sizeof(struct ln), cmp); //根据字符串被输入的次数快速排序
printf("\n\nword\t\t\ttime\n\n");
for(i=0; i<5; i++)//输出次数最多的前5个字符串
{
printf("%-25s%-d\n", s[i].word, s[i].time);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询