如何用free pascal輸入十位以下的數 包括十位 ,輸出每一位數加起來的和

2022-11-04 04:05:06 字數 4536 閱讀 1463

1樓:匿名使用者

樓上的回答是對的。

首先讀入字串st,接著使用for迴圈(從一到字串的長度,length是求字串的長度),st[i]是指當前位置的字元,val是把字串轉化為一個數字(一個字元也可以,無法轉換值為0)。然後用s把a累加,最後輸出。

還有的方法如ascii碼:

varch:char; t:longint;

begin

read(ch);

while ord(ch)<>13 do begin inc(t,ord(ch)-48); read(ch); end;

end.

首先讀入字元ch,如果ch的ascii碼不等於13(意思是沒有按下回車),那麼就累加,最後輸出。0的ascii碼是48,1的ascii碼是49,2的ascii碼是50,依此類推。

2樓:匿名使用者

var s,i,a:longint;

st:string;

begin

readln(st);

for i:=1 to length(st) dobegin

val(st[i],a);

s:=s+a;

end;

writeln(s);

end.

如何用free pascal編這樣一個程式: 輸入一個百位數,輸出它的個位、百位、十位 。

3樓:

program xx;

var a,b,c,e:longint;

begin

read(e);

writeln("b",(e div 100) mod 10);

writeln("s",(e div 10)mod 10);

writeln("g",e mod 10);

end.

吶~很不錯了,用長整型,任你讀數,它卻始終輸出個十百位,啊哈~防超出~

4樓:地電風

varn:integer;

begin

readln(n);

write(n div 100,' ',n div 10 mod 10,' ',n mod 10);

end.

5樓:

program no1;

varn:longint;

begin

readln(n);

writeln(n mod 10);

writeln(n div 100);

writeln((n div 10) mod 10);

end.

輸入一個少於10位的正整數,將其每一位上的數字依次輸出(高位到低位)輸出時 中間加逗號

6樓:匿名使用者

這題的技巧是,用字串存放這個正整數。

具體的演算法如下:

讀取正整數,存放在字串s中;

一個迴圈變數從1到(s的長度-1)開始迴圈,先輸出s的第 i 位,再輸出一個逗號 '  ,' ;

最後,輸出s的最後一位。

由於不知道lz所用的語言,下面用pascal和c++作為例子:

pascal

var s:string;

i:integer;

begin

readln(s);

for i:=1 to length(s)-1 dowrite(s[i],',');

writeln(s[i+1]);

end.

c++#include

#include

using namespace std;

int main()

{  char s[10];

int i;

cin>>s;

for (i=0;i

free pascal:輸入十個正整數,然後把這十個數按由小到大的順序輸出。(選擇排序)

7樓:匿名使用者

vara:array[1..10]of longint;

i,j,t:longint;

begin

for i:=1 to 10 do

readln(a[i]);

for i:=1 to 9 do

for j:=i+1 to 10 do

if a[i]>a[i] then

begin

t:=a[i];

a[i]:=a[j];

a[j]:=t;

end;

for i:=1 to 10 do

write(a[i],' ');

writeln;

end.

第一遍每次for都找出第i小的整數,儲存在a[i]陣列裡,最後按順序輸出。

8樓:匿名使用者

program ex;

vara:array[1..10] of integer;

i,j,t:integer;

begin

for i:=1 to 10 do read(a[i]);

for i:=1 to 10 do

for j:=i+1 to 10 do

if a[i]>a[j] then

begin

t:=a[i];

a[i]:=a[j];

a[j]:=t;

end;

for i:=1 to 10 do write(a[i],' ');

end.

9樓:

for i:=1 to n do readln(a[i]);

write('array:');

for i:=1 to n do write(a[i]:3);

readln;

for i:=1 to n-1 do

begin

k:=i;

for j:=i+1 to n do

begin

if a[k]>a[j] then k:=j;

if i<>j then

begin

temp:=a[i];

a[i]:=a[k];

a[k]:=temp;

end;

end;

end;

write('after sort:');

for i:=1 to n do write(a[i]:3);

readln;

free pascal問題 任意輸入一個四位數,輸出的結果是其各個數位上的數字之和

10樓:

用字元陣列儲存這n個數 再用ascii碼將字元型別的數字轉換成整數數字

再加起來即可;

vara:array[1..10000] of char;

i,s,n:longint;

begin

for i:=1 to 4 do

read(a[i]);

s:=0;

for i:=1 to 4 do

s:=s+(ord(a[i])-48);

writeln(s);

end.

如果不會用字元陣列和迴圈 可以用笨辦法;

vara,s,c:longint;

begin

readln(a);

s:=0;

c:=a mod 10;

a:=a div 10;

s:=s+c;

c:=a mod 10;

a:=a div 10;

s:=s+c;

c:=a mod 10;

a:=a div 10;

s:=s+c;

c:=a mod 10;

a:=a div 10;

s:=s+c;

writeln(s);

end.

11樓:匿名使用者

var i,j,s,n:longint;

begin

readln(n);

for i:=1 to 4 do begins:=n mod 10;

n:=n div 10;

end;

writeln(s);

end.

相當於每次把n的個位加到s裡面,然後把n的個位截掉。

12樓:匿名使用者

program add;

vara,b,c,d,e;

begin

read(a,b,c,d);

e:=a+b+c+d;

writeln(e);en.

用free pascal將一個兩位數的個位和十位交換

13樓:匿名使用者

vara:integer;

begin

readln(a);

a:=a div 10+(a mod 10)*10;

writeln(a);

end.

如何用c語言輸入123輸出,如何用C語言輸入123,輸出

n 100因為n是整形,所以輸出是百位的數字n 10是取餘,正好是個位的數字 b是中間的數,道理和a是一樣的。再把三個數反過來輸出一遍就行了,本題中是重新組成一個三位數。是這樣的。int n,a,b,c 定義了4個整型變數,其中n為即將輸入的數,a為所輸入數字的百位數,b 為所輸 入數字的十位數,c...

如何用C語言編寫程式,輸入任意輸入正整數,反序輸出每

include int main while n 10 printf n return 0 include include void main for int j 0 j include using namespace std void print int n cout 入你 想轉換的數 n ret...

如何用搜狗輸入法打出圖形,怎麼用 搜狗輸入法打出特殊符號 偏旁

切換出來,在右下角搜狗的小橫長條上右擊,滑鼠移到 軟體盤 s 最下面 特殊符號 怎麼用 搜狗輸入法打出特殊符號 偏旁 氵san 宀bao 辶zou 屮cao 糹jiao 攵fan 灬huo 礻shi 丨shu 丿 pie 丶dian 匚fang 刂li 冂tong 亻 dan 勹bao 亠wen 冫...