pascal:统计10个自然数中,0~9这十个数字出现的次数。

请教一下

program check(input, output);
var i, n: integer;
count: array[0..9] of integer
s: string;
begin
for n:=0 to 9 do count[n]:=0;
for n:=1 to 10 do
begin
write('input number: ');
readln(n);
str(n, s);
for i:=1 to length(s) do inc( count[ ord(s[i])-ord('0')] );
end;
for n:=0 to 9 do writeln(n, ' --- ', count[n]]); // display
end.
// 未调试, 大致如此。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-16
program pp;
var n,i,j,t,x:integer; p,r:string;
begin
p:='';
for i:=1 to 10 do
begin read(n); str(n,r);p:=p+r; end;
for i:=0 to 9 do
begin t:=0;
for j:=1 to length(p) do
begin
val(copy(p,j,1),x);
if x=i then t:=t+1;
end;
writeln(i,':',t);
end;
readln;
end.
第2个回答  2012-07-25
a:array[1..10]of string;

pascal:统计10个自然数中,0~9这十个数字出现的次数。
program check(input, output);var i, n: integer;count: array[0..9] of integer s: string;begin for n:=0 to 9 do count[n]:=0;for n:=1 to 10 do begin write('input number: ');readln(n);str(n, s);for i:=1 to length(s) do inc( count[ ord(s[i])-ord('0...

PASCAL算法知识题~~高分~紧急~
例1.将2n个0和2n个1,排成一圈。从任一个位置开始,每次按逆时针的方向以长度为n+1的单位进行数二进制数。要求给出一种排法,用上面的方法产生出来的2n+1个二进制数都不相同。 例如,当n=2时,即22个0和22个1排成如下一圈: 比如,从A位置开始,逆时针方向取三个数000,然后再从B位置上开始取三个数001,...

pascal 统计数字
数据规模n在200000因此O(nlogn)排序【即快排或其他高效排序法】可过。数据范围在1,500,000,000<maxlongint=2,147,483,647,所以使用高精度存储完全没有必要。qsort在一定情况下的最差表现为o(n^2)。参考程序使用了qsort。这道题目适合用来初学者练习排序。参考程序 program count;var a: array[0...

pascal统计最多数字
输入一个数n(n<=200000)和n个自然数(每个数都不超过1.5*10^9),请统计出这些自然数各自出现的次数,按顺序从小到大输出。输入数据保证不相同的数不超过10000个。输入格式 Input Format 8 2 4 2 4 5 100 2 100 输出格式 Output Format 2 3 4 2 5 1 100 2 var a,b:array[1..2000...

pascal 的初级题
35. 编制一程序,要求输出20个数字(0-9),然后统计出在这个数组中相临两数字对出现的次数,如:0,1,5,9,8,7,2,2,2,3,2,7,8,7,8,7,9,6,5,9.则程序得到7,8这一数字对出现次数为2;而8,7这一数字对出现次数为336. 1.63 如图: 7 个学生按顺时针 ① 方向手拉手围成一圈,并顺 1.72 ⑦ ② ...

pascal数字排列问题
var n:longint;p:array[1..1000]of boolean;f:array[1..1000]of longint;procedure dfs(i:longint);var a:longint;begin if i>n then begin for a:=1 to n do write(f[a],' ');writeln;exit;end;for a:=1 to n do if not p[a] then begin p[a]:=true;f[i]:=a;dfs...

pascal 求任意十个自然数的和
program sum;var a:array[1..10]of integer;m,i:integer;begin for i:=1 to 10 do read(a[i]);b:=a[1];m:=1;while(m<10)do begin b:=b+a[m+1];m:=m+1;end;write(b);readln;end.

数的统计 pascal
我可以先求出没有零的数,一位数中有9个数没有零,二位数中有9^2个数没有零,三位数中有9^3个数没有零……标程如下:var n,l,s,t,p:longint;m:string;begin readln(n); p:=n;str(n,m);l:=length(m);t:=1;s:=0;while n>0 do begin s:=s+(n mod 10)*t;t:=t*9;n...

pascal求纠正 编程求出所有不超过1000的数中,含有数字3的自然数,并...
最后,既然要统计个数,那么就必须输出个数,所以在end;后面加writeln(n);正确的程序是:program three;var n,m:integer;begin n:=0;for m:=1 to 999 do if (m div 100=3) or ((m-(m div 100)*100) div 10=3) or (m mod 10=3)then begin writeln(m);n:=n+1;end;writel...

PASCAL语言程序基本概念
program ques_1; var i,j,k:integer; begin for i:=1 to 9 do for j:=0 to 9 do for k:=0 to 9 do if i*i*i+j*j*j+k*k*k=100*i+10*j+k then writeln(i,j,k); end. program ques_2 var i,a,b,c,d,n:integer; begin for i:=1000 to 9999 do if i mod 11...

相似回答
大家正在搜