1. c語言如何輸入任意長度的字元串數組
方法:
1)逐個元素進行賦初值。例如:
char
a[12]={'g','o','o','d','
','m','o','r','n','i','n','g'};
採用這種方式對字元數組初始化,可以不包括結束標志,這是合法的。但在對數組整體輸出時系統無法判斷字元串是否結束,輸出結果會存在問題。因此通常人為的加上『\0』。上例做如下改動更合理:
char
a[13]={'g','o','o','d','
','m','o','r','n','i','n','g','\0'};
2)用字元串常量來初始化字元數組:
char
a[]="good
morning";或
char
a[]={"good
morning"};
採用這種方式初始化字元數組,可以不指定數組長度,但數組的實際長度比字元串常量的長度多1,因為系統會在最後添加字元串結束標志『\0』;若指定了數組的長度,如果字元串常量的長度大於數組長度會出錯,如果小於數組長度,系統會將未賦值的元素全部充成『\0』。
2. C語言中怎麼輸入數字和字母
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
3. C語言如何從鍵盤輸入任意3個數,按從小到大的順序輸出
代碼1.
//輸入3個數,要求按從小到大順序輸出
#include<stdio.h>
intmain()
{
inta,b,c,t;
printf("請輸入三個數:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("從小到大的順序是:%d%d%d ",a,b,c);
return0;
}
代碼2.
輸入3個字元串,按從小到大順序輸出。//先用程序對三個數進行從小到大排序,然後修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("請輸入三個字元串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三個指針分別指向三個字元數組
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比較兩個字元串的大小,為什麼用前一句的時候會出現警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}
voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}
代碼3.
#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50
intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;
printf("Pleaseenter3string. ");
for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{
if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}
}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
}
4. C語言怎麼實現字元串的任意輸入
樓主的意思是不是在輸入的時候不通過按回車鍵來結束字元串的輸入就能把字元串讀入程序?
5. c語言如何實現輸入任意多個整數
用循環結構。
具體操作如下。
int a;
scanf("%d",&a);
while(a!=0)
{
scanf("%d",&a);
}
這時,你輸入任意個整數都行,兩個整數中間用任意數量空格隔開,只要最後一個整數輸入的是0就行了
6. C語言如何從標准輸入一次讀入指定字元數量的字元串
在源碼里插入匯編代碼
INT 21H的0AH是輸入字元串的
可以限定輸入字元的個數
我就知道這個了
據說C語言不是能插入匯編代碼么
7. c語言怎麼輸入多個字元串
char str1[20],str2[20];
scanf("%s%s",str1,str2);
這樣就可以實現多個字元串的輸入,注意幾點:
輸入的每一個字元串長度應小於定義時的字元數組長度。
輸入字元串時,字元串與字元串之間用空格符或者回車換行符隔開。
8. c語言中怎麼實現任意長度字元串輸入
其實核心就是實現動態數組,無論字元串多長,都能夠儲存。
用getchar一個一個得到字元,直到文件結束。
核心代碼實現:
intn=0,k=100;//初始化,字元串長度為0,字元串空間長度為100
char*s2=NULL,s1=(char*)malloc(100);//初始化字元串空間
if(s1==NULL)return;//內存分配失敗,返回
while((c=getchar())!=EOF){//判斷是否到文件結束,一個個讀取字元
if(k<=n){//當前字元串長度大於等於字元串空間長度時
k*=2;//長度增長2倍
s2=(char*)realloc(s1,k);//重新分配內存
if(s2==NULL){//內存分配失敗
free(s1);//釋放已分配內存
return;
}else{//內存分配成功
s1=s2;
}
}
s1[n++]=c;//字元串賦值字元
}
s1[n]=0;//字元串末尾置為
9. C語言編程:如何輸入任意長度的字元串(不用C++和String)
每次使用都malloc申請一個空間
記得要包含stdlib.h
//for 用一個循環控制輸入字元串
char *p;
p=(char *)malloc(sizeof(char));//只申請一個存放空間
p=getchar();//取得鍵盤輸入的字元
用完記得要釋放掉
free(p);
10. 如何用C語言實現從鍵盤任意輸入n個數。
#include<stdio.h>
void
main()
{
char
*a;
printf("input
in:");
gets(a);
printf("%s",a);
printf("\n至於具體怎麼將字元處理成數字你自己設計吧\n\1\n");
}