2 用VB程式程式設計 從鍵盤上輸入整數,並放入一維陣列中,然後將其前元素與後元素對換

時間 2021-07-21 03:32:34

1樓:司寇忻

private sub command1_click()

dim tmp as string, tmp1 as string, a() as string

me.cls

tmp = text1.text

if not isnumeric(tmp) then goto outerr

a = split(tmp, ",")

if ubound(a) <> 9 then msgbox "請輸入十個整數!", vbinformation, "提示": exit sub

for i = 0 to 4

tmp1 = a(i)

a(i) = a(9 - i)

a(9 - i) = tmp1

next i

for i = 0 to 9

if int(val(a(i))) = val(a(i)) then

me.print a(i) & ",";

else

me.print a(i) & "(不是整數)";

end if

next i

exit sub

outerr:

a = split(tmp, ",")

for i = 0 to ubound(a)

if not isnumeric(a(i)) then me.print vbcrlf & a(i) & "不是整數"

next i

end sub

private sub text1_change()

dim a() as string

a = split(text1.text, ",")

if a(ubound(a)) <> "" then label1.caption = "共輸入:" & ubound(a) + 1 & "個數"

end sub

2樓:櫻雪殤

option base 1

private sub form_click()dim a%(10)

for i = 1 to 10

a(i) = inputbox("輸入第" & i & "個元素值:")

print a(i);

next i

print

for i = 1 to 5

temp = a(i): a(i) = a(11 - i): a(11 - i) = temp

next i

for i = 1 to 10

print a(i);

next i

end sub

(1)定義一個整型指標變數p,使它指向一個5個元素的一維陣列. (2)使用指標移動的方式,輸入5個整型陣列元素.

3樓:

源**如下:

#include

#include

int main(){

int a[5];

int *p=a;                                   //定義一個整型指標變數p,使它指向一個5個元素的一維陣列.

int i;

printf("please input:");

for(i=0;i<5;i++)

scanf("%d",p+i);                        //使用指標移動的方式,輸入5個整型陣列元素.

int *q=(int*)malloc(sizeof(int)*5);   //malloc函式動態分配5個整型數的地址空間。

printf("please input:");

for(i=0;i<5;i++)

scanf("%d",q+i);   //使用陣列下標的方式輸入5個整型元素。

for(i=0;i<5;i++)

if(p[i]>q[i]){

int t=p[i];

p[i]=q[i];

q[i]=t;

for(i=0;i<5;i++) //使用指標p和q分別訪問兩組資料

printf("%d",p[i]);

putchar('\n');

for(i=0;i<5;i++)

printf("%d",q[i]);

putchar('\n');

printf("p=%x\n",p); //分別輸出交換後的兩組數。

printf("a=%x\n",a);

printf("q=%x\n",q);

free(q);

q=null;//按十六進位制方式輸出p、a和q的地址。

return 0;

執行結果如下:

擴充套件資料:

指標的初始化、動態分配記憶體的方法

指標的初始化

對指標進行初始化或賦值只能使用以下四種型別的值  :

1. 0 值常量表示式,例如,在編譯時可獲得 0 值的整型 const物件或字面值常量 0。

2. 型別匹配的物件的地址。

3. 另一物件末的下一地址。

4. 同型別的另一個有效指標。

把 int 型變數賦給指標是非法的,儘管此 int 型變數的值可能為 0。但允

許把數值 0 或在編譯時可獲得 0 值的 const 量賦給指標:

int ival;

int zero = 0;

const int c_ival = 0;

int *pi = ival; // error: pi initialized from int value of ival

pi = zero;// error: pi assigned int value of zero

pi = c_ival;// ok: c_ival is a const with compile-time value of 0

pi = 0;// ok: directly initialize to literal constant 0

除了使用數值 0 或在編譯時值為 0 的 const 量外,還可以使用 c++ 語言從 c 語言中繼承下來的前處理器變數 null,該變數在 cstdlib標頭檔案中定義,其值為 0。

如果在**中使用了這個前處理器變數,則編譯時會自動被數值 0 替換。因此,把指標初始化為 null 等效於初始化為 0 值 [3]  :

// cstdlib #defines null to 0

int *pi = null; // ok: equivalent to int *pi = 0;

動態分配記憶體的方法

new可用來生成動態無名變數

(1)new可用來生成動態無名變數

如 int *p=new int;

int *p=new int [10]; //動態陣列的大小可以是變數或常量;而一般直接宣告陣列時,陣列大小必須是常量

又如:int *p1;

double *p2;

p1=new int⑿;

p2=new double [100];

l 分別表示動態分配了用於存放整型資料的記憶體空間,將初值12寫入該記憶體空間,並將首地址值返回指標p1;

l 動態分配了具有100個雙精度實型陣列元素的陣列,同時將各儲存區的首地址指標返回給指標變數p2;

對於生成二維及更高維的陣列,應使用多維指標。

以二維指標為例

int **p=new int* [row]; //row是二維陣列的行,p是指向一個指標陣列的指標

for(int i=0; ip[i]=new int [col]; //col是二維陣列的列,p是指向一個int陣列的指標

刪除這個二維陣列

for(int i = 0; i < row;i++)

delete p[i]; //先刪除二維陣列的列

delete p;

⑵使用完動態無名變數後應該及時釋放,要用到 delete 運算子

delete p; //釋放單個變數

delete [ ] p;//釋放陣列變數(不論陣列是幾維)

相比於一般的變數宣告,使用new和delete 運算子可方便的使用變數。

4樓:匿名使用者

你好,完成以上功能的**如下

根據你要求的malloc我覺得應該是用c語言來做吧!

如果我理解錯了,請指正!

#include

#include

int main(){

int a[5];

int *p=a; //完成(1)

int i;

printf("please input:");

for(i=0;i<5;i++)

scanf("%d",p+i);   //完成(2)int *q=(int*)malloc(sizeof(int)*5);   //動態分配記憶體空間   //完成(3)

printf("please input:");

for(i=0;i<5;i++)

scanf("%d",q+i);   //完成(4)for(i=0;i<5;i++)      //完成(5)if(p[i]>q[i]){

int t=p[i];

p[i]=q[i];

q[i]=t;

for(i=0;i<5;i++) //完成(6)printf("%d",p[i]);

putchar('\n');

for(i=0;i<5;i++)

printf("%d",q[i]);

putchar('\n');

printf("p=%x\n",p); //完成(6)printf("a=%x\n",a);

printf("q=%x\n",q);

free(q);

q=null;//釋放動態分配的記憶體

return 0;

執行結果:

5樓:勵若

(1)int (*p)[5];

(2) #include

int a[5] = ;

int* p = a;

for(int i=0; i<5; ++i)(3)int* q = (int*)(malloc(5*sizeof(int));

(4)#include

int a[5] = ;

for(int i=0; i<5; ++i)(5)#include

int a[5] = ;

int b[5] = ;

int* p = a;

int* q = b;

for(int i=0;i<5;++i)

}(6)

for(int i=0;i<5;++i)

for(int i=0;i<5;++i)

(7)std::cout << p << q << a;

用C 程式設計 從鍵盤上輸入若干學生的成績,統計並輸出最高成績和最低成績,當輸入負數時結束輸入

問明 include using namespace std int main double a 100 double max 0,min 100,t int i for i 0 i 100 i cin a i if a i 0 break else if a i max max a i if a ...

vb程式設計程式設計要求 從鍵盤輸入大寫字母,要求改用小寫字

有好幾種方法 第一種 必須是keydown或keyup!否則輸入小寫字母會輸出亂七八糟的字,keycode永遠是大寫字母的ascii private sub form keydown keycode as integer,shift as integer print chr keycode 32 e...

c 程式設計,急求大神使用者從鍵盤上任意輸入整數

include define n 10 define invalid 0xffffusing namespace std int main int argc,char argv if istrigger elsereturn true include using namespace std int ...