QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 626|回复: 3

贴段代码 请大家提点意见

[复制链接]
发表于 2004-1-10 10:44:45 | 显示全部楼层 |阅读模式
题目:把一个整数分解质因数。
      样例 输入:12
                 输出:12=2*3*3
           输入:-12
                 输出:-12=-2*3*3

pascal代码:
[code:1]
program Zhiyinshu;
Var
n,i:longint;
begin
writeln('分解质因数 by TML);
writeln('Build date:1/1/2004');
write('  输入要分解的整数:');
readln(n);
i:=2;
write('  结果:');
write(n);

{控制n=1时的输出}
if n=1 then begin
              write('=1');
              readln;
              halt;
             end;

{控制n=-1时的输出}
if n=-1 then begin
               write('=-1');
               readln;
               halt;
              end;

{控制n=0时的输出}
if n=0 then begin
              write('=0');
              readln;
              halt;
             end;

{当n<0时,先输出一个负号}
if n<0 then begin
             write('=-');
             n:=-n;
             end
        else
        write('=');
while i<=n do
if n mod i=0 then begin
                    write(i);
                    if n/i<>1 then write('*');
                    n:=n div i;
                    i:=2;
                   end
              else
              i:=i+1;
readln;
end.
[/code:1]
发表于 2004-1-10 15:56:39 | 显示全部楼层
pascal……我不是很熟悉,只是学过一段时间(准确说……是用了两天时间看了看语法图……)
个人意见:
这个程序可以总结出三个函数来执行(好像Pascal里面有函数和过程之分,具体的我也记不清了)
第一个:读入并处理用户输入
第二个:运算
第三个:输出
这样整个程序的结构就十分清晰,读起来很轻松
另外……建议楼主学学C……
回复

使用道具 举报

 楼主| 发表于 2004-1-10 19:29:57 | 显示全部楼层
二楼的同志:
现在小弟我正猛攻计算机奥赛,(要用pascal)

说到函数和过程 ,惭愧 我们还没学呢

我也在学c
回复

使用道具 举报

发表于 2004-1-12 15:07:26 | 显示全部楼层
這個主要是個數學問題算法出來後,程序不管用什麼語言都好寫.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-9 03:00 , Processed in 0.064100 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表