用PASCAL做!读入一英文句子,单词之间用空格或逗号隔开,统计其中单词个数,并输出各个字母出现的频率。

作者&投稿:用的 (若有异议请与网页底部的电邮联系)
输入一行字符,统计其中有多少个单词,单词之间用空格隔开!高手进来解释下。~

#include
void main()
{
char string[81]; //定义长度为81
int i,num=0,word=0;
char c;
gets(string); //输入字符串
for(i=0;(string[i])!='\0';i++)//直到字符串的末尾
{
if(string[i]==' ')
word=0; //如果为空格 那么将知道有单词
else if(word==0) //二重判断直到不为空格
{
word=1; //word状态置为1
num++; //累加单词
}
}
printf("There are %d words in the line.
",num); //输出有几个单词
}

#include
#include
int main()
{
char input[1000];
int number=0;
printf("Enter: ");
gets(input);

char *delim=" ";
char *p;
p=strtok(input,delim);
number++;
while((p=strtok(NULL,delim)))
{
number++;
}
printf("the word number is %d
",number);
return 0;
}

回答时间仓促,如有疏漏,在所难免!
progarm ex_001;
var a:array[1..10000] of string;
i,j,k,m,n:integer;
s:string;
begin
m:=1;
n:=1;
read(s);
while not s='#' do
begin
a[m]:=s;
m:=m+1;
end;
for i:=1 to 1000 do
begin
if (ord(a[i])>=65 and ord(a[i]<=90) then
begin
writeln('Error 1',i);
break;
end
else if (ord(a[i])>=48) and (ord(a[i])<=57) then
begin
writeln('Error 2',i);
break;
end
else if a[i]='#' then
begin
break;
n:=n+1;
end
else
if a[i]=' ' then n:=n+1;
end;
write('单词个数:',n);
end.


用PASCAL做!读入一英文句子,单词之间用空格或逗号隔开,统计其中单词...
回答时间仓促,如有疏漏,在所难免!progarm ex_001;var a:array[1..10000] of string;i,j,k,m,n:integer;s:string;begin m:=1;n:=1;read(s);while not s='#' do begin a[m]:=s;m:=m+1;end;for i:=1 to 1000 do begin if (ord(a[i])>=65 and ord(a[i]<=90) then...

pascal 文件的读入读出怎么做
是 assign(input,'文件名'); reset(input);注意这个文件名要有路径 比如D:\\pascal.txt 如果不加路径的话默认在pascal安装文件夹的那个bin里

用pascal语言来做,急急急急急急急急急急急急(具体描述如下)
program ui (input,output);var a,b:array[0..1000] of integer;n,m,i,j,l:integer;begin readln(n);for i:=1 to n do read(a[i]);for i:=1 to n do begin for j:=i downto 0 do if (a[j]<a[i])and(b[i]l then l:=b[i];writeln(l);end....

谁有用PASCAL做的跳马程序?(最好是用广度搜索)
设有一个n*m的棋盘(2<=n<=50,2<=m<=50),如下图,在棋盘上任一点有一个中国象棋马,马走的规则为:1.马走日字 2.马只能向右走 任务:当N,M 给出之后,同时给出马起始的位置和终点的位置,试找出从起点到终点的所有路径的数目.例如:(N=10,M=10),(1,5)(起点),(3,5)(终点)输出:2(...

怎样用pascal做伪dos
链表?在TP\\Example\\EXECDEMO.PAS 样例有一个类似的。

用Pascal程序做程序设计。急啊,大家帮帮忙!
1、program exp1(input,output);var a,b,c,max:longint;begin max:=a;if b>max then max:=b;if c>max then max:=c;writeln(max);end.2、program exp2(input,output);var i,s:longint;begin s:=0;for i:=1 to 100 do if i mod 2=0 then s:=s+i;writeln(s);end.3、pro...

用pascal来做~高手快来
f:array[1..20] of longint;i,n,sum:longint;begin assign(input,'shulie.in'); reset(input);assign(output,'shulie.out'); rewrite(output);readln(n);f[1]:=1; f[2]:=9; f[3]:=8; f[4]:=7;for i:=5 to n do f[i]:=(f[i-1]+f[i-2]+f[i-3]+f[i-4])...

用PASCAL做一个矩阵!
我两个都写了,你挑那个对的来用吧 这个是用相应行中的各个元素去÷对角线上的元素:var a,b:array[1..5,1..5] of real;c,d:integer;k:real;begin for c:=1 to 5 do begin for d:=1 to 5 do read(a[d,c]);readln;end;b:=a;writeln('(1)');for c:=1 to 5 do begin ...

编程的交换数值用pascal怎么做?
Begin Readln(a,b);{读入这两个数据} i:=a;{临时将a存入临时变量i} a:=b;{将变量a赋值b} b:=i;{把刚刚备份的i赋值给b} Writeln(a,b);{已实现交换} End.又或者,可以用“异域”运算来实现巧妙的交换,但这应该会比直接开变量交换效率低。当然,这样可以开少一个变量,而且便于记忆。Va...

pascal编程使用了文作操作就不能用readln暂停了,该怎么做才能暂停屏幕...
你要是想在屏幕上暂停就不能用: assign(input,'*.*');reset(input); 因为一旦用了input就只能从文件(input)读入,无法从屏幕读入。所以必须改成文件变量,如: ... var f:text;{将f文件定义为文本文件类型} ... assign(f,'*.*');reset(f);{是关联文件变量f而不是input} ... read(...

中原区13918844311: 用PASCAL做!读入一英文句子,单词之间用空格或逗号隔开,统计其中单词个数,并输出各个字母出现的频率. -
宗圣庄法莫: 回答时间仓促,如有疏漏,在所难免!progarm ex_001; var a:array[1..10000] of string; i,j,k,m,n:integer; s:string; begin m:=1; n:=1; read(s); while not s='#' do begin a[m]:=s; m:=m+1; end; for i:=1 to 1000 do begin if (ord(a[i])>=65 and ord(a[i] begin ...

中原区13918844311: pascal 程序 读入一个句子,单词之间用空格隔开 输出最长的单词,并输出这个单词的长度 -
宗圣庄法莫: var s:string; i,j,m1,m2:integer; begin readln(s); m2:=0; m1:=0; for i:=1 to length(s) do begin if s[i]=' ' then begin for j:=i to length(s) do if s[j]=' ' then begin if (j-i)>(m2-m1) then begin m1:=i; m2:=j; end; end; end; end; for i:=m1+1 to m2-1 do write(s[i]); write(' ',m2-m1-1); end.

中原区13918844311: pascal字符串问题1、输入一行英文句子,句子中只有英文单词和空格;每个单词之间由若干个空格隔开,英文单词由大小写字母组成.统计此句子中的单词... -
宗圣庄法莫:[答案] 第六道 var s:ansistring; i,j,k,l,n,t:longint; begin readln(s); l:=length(s); for i:=2 to l do begin if (s[i]=s[i-1]) then s[i]:=2; if (s[i]=s[i-2]) then begin delete(s,i,1); anc(s[i-1]); end; end; writeln(s); end. 第七道 var s:string; i,j,n,m,k,l,t:longint; v:char; begin readln(s); ...

中原区13918844311: pascal 有没有方法,使输入一个字符串,不按回车直接读入 -
宗圣庄法莫: read函数是不行了...应为read使用了缓冲技术,没有按回车之前是不会执行到下一句的.但是可以考虑使用CRT类.如:uses crt; var c:char; begin while not keypressed do; c:=readkey; writeln(c); end.就可以实现"按下键盘"就读入.

中原区13918844311: Pascal语言中如何用read读取字符串而只读取空格前 -
宗圣庄法莫: 方法一:将输入数据(11 12)分为两行;读入语句改为 readln(s); readln(i); 方法二:以字符串的形式读入数据(11 12),再用程序分解出11和12 分别赋值给 s和 i 方法三:以字符的形式读入数据(11 12),再............

中原区13918844311: pascal 语言读入时如何只显示* 像输密码一样
宗圣庄法莫: 用readkey函数,如a:=readkey; 就不会在屏幕上显示输入的东西.但一句只能读一个字符,需要其他类型只能读完再换回来.然后write('*'); 就可以了.程序头要加上 uses crt;

中原区13918844311: 用pascal编程 读入N,将N分解 例如: 将4分成 1:4=1+1+1+1; 2:4=1+1+2; 3:4=1+3; 3:4=4; 要源程序…… -
宗圣庄法莫: 用搜索吧 program p1; var n,sum,j:longint; ans,t:string; procedure search(x,y:longint;s:string); var i:longint; t:string; begin if x=0 then begin inc(sum); writeln(sum,s); exit; end; for i:=y to x do begin str(i,t); search(x-i,i,s+'+'+t); end; end; begin readln(n); ...

中原区13918844311: 某年某月某日是星期几.用Pascal做. -
宗圣庄法莫: var y,m,d,a,b,c,f:longint;begin read(y,m,d); f:=(14-m) div 12; a:=y-f; b:=m+12*f-2; c:=(d+a+31*b div 12+a div 4-a div 100+a div 400) mod 7; case c of 1:writ...

中原区13918844311: 最大的正整数,用pascal来做 -
宗圣庄法莫: 我说那个 扭曲 啊 你那程序编译都没过呢 而且还是错的 你试试这个数据 4 9 92 95 5 你的程序输出是 599295 正确的应该是 995925

中原区13918844311: pascal 如何读入10000个字符 -
宗圣庄法莫: var s:packed array [1..10000] of char; readln(s); 如果直接输入不行,就用文件输入:var s:packed array [1..10000] of char; fin:text; assign(fin,'a.txt'); reset(fin); readln(fin,s); close(fin); {注意一定要关闭}

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网