[C输入一个字符串统计出某个指定的字符在该字符串中出现的次]#include<iostream> #include<string> using namespace std; void main() { char *p,a[81]; int n,i; cout<<;"请输入一个字符串:"<<endl; cin.getline(a,81); char search; c...+阅读
这道题是NOIp 2007的复赛提高组第一题吧? 排序+线性统计的处理即可。
数据规模n在200000因此O(nlogn)排序【即快排或其他高效排序法】可过。数据范围在1,500,000,000
qsort在一定情况下的最差表现为o(n^2)。
参考程序使用了qsort。
这道题目适合用来初学者练习排序。参考程序
program count;
var
a: array[0..200000] of longint;
n, i, tot: longint;procedure qsort(l, r: longint);
var
ii, jj, kk, mid: longint;
begin
ii := l;
jj := r;
mid := a[(ii+jj) shr 1];
repeat
while a[ii] < mid do inc(ii);
while a[jj] > mid do dec(jj);
if ii <= jj then begin
kk := a[ii];
a[ii] := a[jj];
a[jj] := kk;
inc(ii);
dec(jj);
end;
until ii > jj;
if ii < r then qsort(ii, r);
if jj > l then qsort(l, jj);
end;begin
assign(input, 'count.in');
assign(output, 'count.out');
reset(input);
rewrite(output);
readln(n);
for i := 1 to n do read(a[i]);
qsort(1, n);
tot := 1;
write(a[1]);
for i := 2 to n do begin
if a[i] = a[i-1] then begin
inc(tot);
end else begin
writeln(' ', tot);
write(a[i]);
tot := 1;
end;
end;
writeln(' ', tot);
close(input);
close(output);
end.
以下为关联文档:
急需要 2013全国火灾死伤统计数据1、2013年1月1日凌晨,杭州市萧山区瓜沥镇临港工业园 区内的杭州友成机工有限公司发生特大火灾,3名消防官兵在扑救火灾过程中不幸牺牲。 2、2013年1月3日7时30分许,浙江温州龙湾...
下表是某糖厂今年第二季度产量统计图请看图填空 1在横线里填(1)四月份产量是100吨,五月份是150吨,六月份是300吨,填入统计图如下: (2)(100+150+300)÷3 =550÷3, ≈183.3(吨); 答:第二季度平均月产糖约183.3吨. (3)150-100=50(吨),300-150=150(吨...
EXCEL求助利用函数进行统计拜托了Sum与sumif的一般用法 在excel函数中sum是大多数人学公式的第一个。许多人用了几年,对于sum的用法还是在A1+A2的高度。当然,sum与其它函数结合套用时会产生奇妙面强大的功能,而...
excel求助统计。请使用数据透视表以代替分类汇总 在数据透视表报表中添加或删除分类汇总 如果在数据透视表报表中创建了两个或更多个行字段或列字段,则 Microsoft Excel 将自动显示外部行和...
Excel求助分年龄段和性别统计公式大概是这个样子: 接下来说一下怎么做: 1、首先,你得有一个信息表,并且注意性别只能录入男和女,年龄这一列不能是文本格式。所有单元格内不能有空格。 2、像我一样在右侧画一个表...
excel统计总人数空白单元格输入 =SUMPRODUCT(LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,",",""))) 我举例是a1--a3 你自己改成你的数据范围 哦,我是按逗号是中文逗号算的 如果是英文逗号 自己改公式中的...
怎么样用excel统计函数计算人数假设你的数据库已经建立好了. ABC两列为姓名,分数,职业 A1,B1为标题 下面开始为数据. 总共有1000行. 在D1输入"分数"这两个字(要与你数据库标题一样) 在D2输入>=70 在E1输入"职业"...
怎么用excel统计总人数分类汇总只能处理简单的数据。 可以用公式。假如第一行是标题,要统计001先生、女士、未填的人数: =sumproduct((a2:a100="001")*(b2:b100="先生")) =sumproduct((a2:a100="001")*(b2:...
在EXCEL里面怎么统计算出各阶段的人口数1.根据身份证号计算年龄 =IF(A2<>"",DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y"),) 注意:A2单元格为身份证号,且为文本格式。 2.根据身份证...