c語言動態數組賦值
㈠ 用c語言怎麼輸入為數組賦值,求代碼
#include <stdio.h>
int main(void)
{
int a[5];
printf("請輸入5個數字:");
for(int i=0;i<5;i++) {
scanf("%d",&a[i]);
}
for(i=0;i<5;i++) {
printf("%d ",a[i]);
}
printf("
");
return 0;
}
(1)c語言動態數組賦值擴展閱讀:
for循環
for循環是編程語言中一種開界的循環語句,而循環語句[1]由循環體及循環的終止條件兩部分組成,for循環其在各種編程語言中的實現與表達有所出入,但基本為以C語言和pascal語言代表的兩種形式。
C語言中的for循環形式為:
for(單次表達式;條件表達式;末尾循環體)
{
中間循環體;
}
for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值; 也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。
執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體。
㈡ c語言數組的賦值
給數組賦值的方法除了用賦值語句對數組元素逐個賦值外, 還可採用初始化賦值和動態賦值的方法。
C語言對數組的初始化賦值還有以下幾點規定:
1) 可以只給部分元素賦初值。
當{ }中值的個數少於元素個數時,只 給前面部分元素賦值。
例如:
int a[10]={0,1,2,3,4};
表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。
2) 只能給元素逐個賦值,不能給數組整體賦值。
例如給十個元素全部賦1值,只能寫為:
int a[10]={1,1,1,1,1,1,1,1,1,1};
而不能寫為:
int a[10]=1;
多維數組也是一樣
給數組賦值的方法除了用初始化賦值外,用賦值語句對數組元素只能逐個賦值
㈢ C語言 數組 定義時賦值
c語言不允許在定義的時候直接用變數賦值。但用v[0]=x,v[1]=y...這樣的方法是可以的。
至於數組長度,C語言不支持動態定義大小,如int
n=5;int
a[n];這樣也是錯的。所以數組一般要定義成足夠大。
㈣ C語言數組動態賦值
輸入整型數組,這樣循環是可以的。
scanf輸入格式沒有指定,默認是空格分割。
也就是說,你要麼輸入一個數就回車,再輸第二個。
要麼連續輸入多個數,用空格分割。
看看,你輸入格式對不對。
㈤ C語言如何定義動態數組
intmain(void)
{
int*number,n,m,i;
printf("thetotalnumbersis:");
scanf("%d",&n);
printf("backm:");
scanf("%d",&m);
number=(int*)malloc(n*sizeof(int));
printf("input%dintegers:",n);
for(i=0;i<n;i++)
{
scanf("%d",&number[i]);
}
(5)c語言動態數組賦值擴展閱讀
動態數組,是相對於靜態數組而言。靜態數組的長度是預先定義好的,在整個程序中,一旦給定大小後就無法改變。而動態數組則不然,它可以隨程序需要而重新指定大小。
動態數組的內存空間是從堆(heap)上分配(即動態分配)的。是通過執行代碼而為其分配存儲空間。當程序執行到這些語句時,才為其分配。程序員自己負責釋放內存。使用動態數組的優點是可以根據用戶需要,有效利用存儲空間。
㈥ C語言中的二維數組的賦值,輸入輸出怎麼用
代碼,實現先輸入二維數組的行數m和列數n,並再輸入m*n個整型數據存到動態二維數組中。最後輸出所有二維數組的元素值。
int main()
{
int**p;//定義二維指針。
int m,n;//行數和列數。
int i,j;
scanf("%d%d",&m,&n);//輸入行數和列數。
if(m<=0||n<=0)return-1;//行數或列數非法。
p=(int**)malloc(sizeof(int*)*m);//申請一組一維指針空間。
for(i=0;i<m;i++)
p<i>=(int*)malloc(sizeof(int)*n);//對於每個一維指針,申請一行數據的空間。
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&p<i>[j]);//輸入第i行第j列的數據。其中&p<i>[j]也可以寫作p<i>+j或者是*(p+i)+j.功能相同。
printf("輸入的數組為%d行%d列: ",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)//這個循環可以輸出一行元素。
printf("%d",p<i>[j]);//輸出i行j列的元素。
printf(" ");//每行輸入結束加換行符。
}
//釋放內存
for(i=0;i<m;i++)
free(p<i>);
free(p);
return 0;
}
(6)c語言動態數組賦值擴展閱讀:
函數:free
功能:與malloc()函數配對使用,釋放malloc函數申請的動態內存。(另:對於free(p)這句語句,如果p是NULL指針,那麼free對p無論操作多少次都不會出問題。如果p不是NULL指針,那麼free對p連續操作兩次就會導致程序運行錯誤。)
用法;void free(void*ptr);
程序例:
C/C++代碼如下:
#include<string.h>
#include<stdio.h>
#include<alloc.h>//or#include<malloc.h>
int main(void)
{
char*str;
/*allocate memory for string*/
str=(char*)malloc(10);
/*"Hello"to string*/
strcpy(str,"Hello");
/*display string*/
printf("String is%s ",str);
/*free memory*/
free(str);
str=NULL;
return 0;
}
㈦ C語言的動態賦值
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
inta[10];
inti,j;
intn;
srand(time(NULL));
for(i=0;i<10;i++)
{
n=rand();
for(j=i-1;j>=0;j++)
if(a[j]>n)a[j+1]=a[j];
elsebreak;
a[j+1]=n;
}
scanf("%d",&n);
if(n==0)
{
for(i=0;i<10;i++)
printf("%d",a[i]);
}
elseif(n==1)
{
for(i=9;i>=0;i--)
printf("%d",a[i]);
}
}