急!!!!pascal题目!哪位高手能解这几道难题呀!

来源:百度知道 编辑:UC知道 时间:2024/06/08 12:09:43
1。任意输入一组字符,以“。”作为结束标志,如果其中英文字母个数大于等于数字个数则输出YES否则输出NO,如输入Abc567#!R.则输出YES,如输入Abc#56!79.则输出NO。
2.将1,2,······,9共9个数排成下列形态的三角形。
a
b c
d e
f g h i
其中:a~i分别表示1,2,······,9中的一个数字,并要求同时满足下列条件:
(1)a<f<i; (2)b<d, g<h, c<e
(3)a+b+d+f=f+g+h+i=i+e+c+a=P
程序要求:根据输入的边长之和P, 输出所有满足上述条件的三角形方案。如输入P=23,则输出 7 2 3 6 4 8 1 5 9
7 3 1 5 6 8 2 4 9
3.读入一串整数(以9999作为结束标记)存入链表,并统计整数的个数。
如果答得好,+100分
你们到底想不想拿到那100分了!现在我要的是第三题的答案!我先+5分,免得你们说我说话不算话!
回复陶梓絮:
我要的是程序!

我不写程序,给一个思路,写也只写核心程序
1.
read(c);
while c<>'.' do begin
if ((c>='a')and(c<='z'))or((c>='A')and(c<='Z')) then inc(i);
if (c>='0')and(c<='9') then inc(j);
read(c);
end;
最后比较i和j,i表示字母个数,j表示数字个数
2.暴力搜索,你a-i都做1-9枚举。最后判重、判条件,条件对就输出
3.题目什么意思,读入一串整数还要统计整数个数?是统计正整数个数么?
read(i);
while i<>9999 do begin
if i>0 then inc(ans);
read(i);
end;
writeln(ans);
没有存链表

核心程序都给你了还什么不满意的。不会做还问什么题目

第二题``

program xxx;
var p,i,tot:longint;
x:array[1..9]of longint;
set1:set of byte;

function check:boolean;
var i:longint;
begin
check:=true;
if (x[1]<>0)and(x[6]<>0)and(x[9]<>0)and((x[1]>=x[6])or(x[6]>=x[9]))
then exit(false);
if (x[2]>=x[4])and(x[2]<>0)and(x[4]<>0)