|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- # include <stdio.h>
- int main()
- {
- int n,i,bir[11],mon;
-
- scanf("%d",&n);
- for (i = 0;i < n,i++)
- {
- scanf("%d",&mon);
- bir[mon-1]++
- }
-
- for (i = 0;i < n,i++)
- {
- printf();
- }
- }
复制代码
这是我写的,只完成了输入部分,这个输出的排序要求怎么实现呀,求大佬指点
你的这个一维数组好像不能实现吧。即使能实现也会特别麻烦。不帮你修改了,直接写一下吧
给你两种方法:一种是使用结构体,一种是使用二维数组
下面写一下结构体,二维数组可以自己去写
- #include <stdio.h>
- struct Birth{
- int month;
- int num;
- }bir[12]={{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{9,0},{10,0},{11,0},{12,0}};
- int main(void) {
- int n,i,j,mon;
- Birth temp;
- scanf("%d",&n);
- for (i = 0;i < n;i++)
- {
- scanf("%d",&mon);
- bir[mon-1].num++;
- }
- for(i=0;i<11;i++)//冒泡排序
- for(j=0;j<11-i;j++)
- {
- if(bir[j].num<bir[j+1].num)
- {
- temp.num=bir[j+1].num;
- bir[j+1].num=bir[j].num;
- bir[j].num=temp.num;
- temp.month=bir[j+1].month;
- bir[j+1].month=bir[j].month;
- bir[j].month=temp.month;
- }
- }
- for(i=0;i<12;i++)
- {
- printf("%d %d\n",bir[i].month,bir[i].num);
- }
- return 0;
- }
复制代码
|
|