① c語言字元串數組怎麼輸入和輸出呢
在C語言中,有兩個函數可以在控制台(顯示器)上輸出字元串,它們分別是:
puts():輸出字元串並自動換行,該函數只能輸出字元串。
printf():通過格式控制符%s輸出字元串,不能自動換行。除了字元串,printf() 還能輸出其他類型的數據。
這兩個函數相信大家已經非常熟悉了,這里不妨再演示一下,請看下面的代碼:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通過字元串名字輸出
printf("%s ", "http://c.biancheng.net"); //直接輸出
puts(str); //通過字元串名字輸出
puts("http://c.biancheng.net"); //直接輸出
return 0;
}
運行結果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,輸出字元串時只需要給出名字,不能帶後邊的[ ],例如,下面的兩種寫法都是錯誤的:
printf("%s ", str[]);
puts(str[10]);
(1)c語言數組輸入形式擴展閱讀:
由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。
② C語言中如何依次輸入數組中元素
#include<stdio.h>
int main()
{
int a[17];
int i;
for(i=0;i<17;i++)
{
scanf("%d",&a[i]);
}
return 0;
}
(2)c語言數組輸入形式擴展閱讀:
數組:是有序的元素序列。 若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。
用於區分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按無序的形式組織起來的一種形式。 這些無序排列的同類數據元素的集合稱為數組。
聲明固定大小的數組:
有三種方法聲明固定大小的數組,用哪一種方法取決於數組應有的有效范圍:
1,建立公用數組,在模塊的聲明段用 Public語句聲明數組。
2,建立模塊級數組,在模塊的聲明段用 Private語句聲明數組。
3,建立局部數組,在過程中用 Private語句聲明數組。
參考資料來源:網路-數組
③ C語言數組輸入。。
C語言數組輸入是相同類型的、數量有限的若干個變數通過有序的方法組織起來的一種便於使用的形式。數組屬於一種構造類型,其中的變數被稱為數組的元素。數組元素的類型可以是基本數據類型,也可以是特殊類型和構造類型。
在引用數組中的元素時,採用數組名[下標]的方式,將其中的每一個元素視為一個普通的變數來進行操作。需要注意的是,因為定義的數組arr僅含有9個元素,所以在使用的過程中,下標值不能超過8,否則就會出現下標越界的錯誤。
(3)c語言數組輸入形式擴展閱讀:
注意事項:
由於剩餘的元素會自動初始化為 0,所以只需要給第 0 個元素賦值為 0 即可,只能給元素逐個賦值,不能給數組整體賦值。例如給 10 個元素全部賦值為 1。
注意指針變數的當前值:指針變數的值在程序運行過程中可能經常改變,要對此注意。
數組越界: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;
}
(4)c語言數組輸入形式擴展閱讀:
for循環
for循環是編程語言中一種開界的循環語句,而循環語句[1]由循環體及循環的終止條件兩部分組成,for循環其在各種編程語言中的實現與表達有所出入,但基本為以C語言和pascal語言代表的兩種形式。
C語言中的for循環形式為:
for(單次表達式;條件表達式;末尾循環體)
{
中間循環體;
}
for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值; 也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。
執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體。
⑤ 如何在C語言中用scanf輸入數組
#include
main()
struct
int num;
char name[20];
char sex;
int age;
stu[5];
int i;
for(i=0;i<5;i++)
printf("請輸入信息 ");
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
scanf("%c",&stu[i].sex); //在%c之前加一個空格
scanf("%d",&stu[i].age);
for(i=0;i<5;i++)
printf( "*%s*",stu[i].name);
(5)c語言數組輸入形式擴展閱讀:
函數 scanf() 是從標准輸入流stdin[1](標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
⑥ 在c語言中如何實現數組的動態輸入
頭文件malloc.h
使用malloc來申請一個初始地址空間。
然後在循環輸入的過程中不斷檢查初始空間是否已滿,滿了就是使用realloc來擴展地址空間。
最後,如申請的地址不需要使用了,且程序沒有結束,需要用free來釋放。
另外,使用malloc或realloc申請時,需要先判斷下返回值是否為空,如有異常申請失敗,用空指針直接使用,會造成程序錯誤。
下面簡單示範:(初始申請2個位元組,之後每次輸入字元擴展1個位元組,回車結束輸入)
#include <stdio.h>
#include <malloc.h>
int main()
{
int len=2;
char *a=NULL,*aSave=NULL,c;
a=(char*)malloc(sizeof(char)*len);
if(!a)
return 1;
a[0]=0;
while(1)
{
c=getchar();
if(c==10)
break;
if(a[0]==0)
a[0]=c,a[1]=0;
else
{
aSave=realloc(a,sizeof(char)*len);
if(!aSave)
return 1;
a=aSave;
a[len-2]=c,a[len-1]=0;
}
len++;
}
printf("輸入的字元串數組是: %s ",a);
free(a);
return 0;
}
⑦ c語言中 二維數組要怎麼輸入怎麼換行啊
scanf那行里的a[i][j]要寫成&a[i][j],輸入就正常的輸入就行了,其實scanf讀入數字的時候,數字可以用空格、回車或者TAB間隔,比如說一個2x2的數組,你輸入
10 11
12 13
或者輸入10 11 12 13都是可以的。
⑧ C語言數組輸入
自己把字元1
轉為數字1不就可以了嘛。。又不是很難
=====================
為什麼用字元數組?
樓主是要一次性輸入,不是循環分開輸入。。
你如果用數組數組,一次性輸入一個數,會被存放在一個元素裡面,不會分開。
還有純數字的判別,麻煩點,樓主需要再說,我懶得寫
================================
這樣啊,那就用一個字元數組咯。。
代碼稍後給你。。
一次性輸入50個數字,每一個數字(10以下的數字)都會單獨存放於一個數組元素
如果你要把兩位數以上(10以上)存放在數組元素裡面,我就暫時沒想到怎麼做了
#include
int
main(int
argc,char
*argv[])
{
char
ch[50]={NULL},*p=ch;
int
i=0;
gets(ch);
while(*p!=NULL)
{
printf("%c\n",ch[i++]);
p++;
}
}
⑨ 關於c語言數組的輸入輸出
scanf("%d
",&a[i]);
%d後面有空格,這樣輸入6個數在輸入一個空格就可以了。