當前位置:首頁 » 編程語言 » c語言字元串測試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言字元串測試

發布時間: 2022-07-19 14:33:29

c語言,判斷字元串是否為迴文,需進行多組測試

#include"stdio.h"
intmain(intargv,char*argc[]){
chars[100],i,k;
printf("Inputstring,Ctrl+Zend... ");
while(gets(s)){
for(k=0;s[k];k++);
for(k--,i=0;i<k;i++,k--)
if(s[i]-s[k])
break;
if(i>=k)
printf(" '%s'isapalindromestring ",s);
else
printf(" '%s'isnotapalindromestring ",s);
}
return0;
}

運行樣例:

⑵ C語言中測試字元串長度的函數

C語言中測試字元串長度的函數是strlen()

函數原型:

unsignedintstrlen(char*s);

頭文件:

#include<string.h>

參數說明:s為指定的字元串;

功能說明:strlen()用來計算指定的字元串s 的長度,不包括結束字元'';

返回值:返回字元串s 的字元數;

注意:strlen() 函數計算的是字元串的實際長度,遇到第一個''結束。

示例:

#include<stdio.h>
#include<string.h>
intmain()
{
charstr[]="abcxyz";
printf("strlen(str)=%d ",strlen(str1));
return0;
}
//輸出結果:strlen(str)=6

⑶ 在c語言中,如何編寫檢測輸入的字元串是否為字元。

#include
<stdio.h>
#include
<stdlib.h>
void
main(
)
{

printf("請數輸入一個字元:");

char
ch
=
getchar();

if(ch>=
'a'&&ch<=
'z')

printf("該字元是小寫字母");

else
if(ch
>=
'A'&&ch
<='Z')

printf("該字元是大寫字母");

else
if(ch>='0'&&ch
<='9')

printf("該字元是數字");

else

printf("該字元是其他字元")
;

printf("\n")
;

system("pause");
}

⑷ C語言編程輸入一個字元串,檢測它的長度和字母,數字以及其他符號出現,字元串長度最少30位

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
#define N 1000
main()
{
char str[N];
int len[4]={0};/*用於存放長度和統計相應字元個數*/
int i;
do
{
clrscr();
puts("請輸入不少於30長度的字元串:\n");
gets(str);
}while(strlen(str)<30);
len[0]=strlen(str);/*字元串的總長度*/
for(i=0;i<len[0];i++)
{
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
len[1]++;/*計算出現字母的個數*/
else
if(str[i]>='0'&&str[i]<='9')
len[2]++;/*計算出現數字的個數*/
else
len[3]++;/*計算出現其他字元的個數*/
}
printf("\n");
printf("已輸入字元串的總長度為%d,字母個數為%d,數字個數為%d,其他字元個數為%d",len[0],len[1],len[2],len[3]);
}
以上代碼是要TC環境中編寫的

⑸ C語言求解一個關於檢測字元串長度的問題

#include<stdio.h>
#include<string.h>


intgetInputSize(void);
voiddeal(intsize);
voidclearInputStream(void);
intmain(void)
{

intsize=getInputSize();

deal(size);


return0;
}


voiddeal(intsize)
{
charstrBuffer[1000];

for(inti=0;i<size;++i)
{
gets(strBuffer);//gets是基於行的讀取函數,一直讀取到換行符,才結束。
//它會消耗換行符,所以不用清理
printf("case%d:length=%d. ",i+1,strlen(strBuffer));

}



}


intgetInputSize(void)//獲取輸入的字元串的個數
{
intsize=0;
scanf("%d",&size);

clearInputStream();//scanf是基於單詞的讀取函數,以空白符為分界線。
//讀取後,需要清理輸入隊列中的殘余的換行符
returnsize;

}

voidclearInputStream(void)
{
while(' '!=getchar());

}

⑹ 在計算機c語言中,如何判斷字元串長度

用strlen函數。
strlen是STRING LENGTH(字元串長度)的縮寫。它是測試字元串長度的函數,函數的值為字元串中的實際長度。不包括'\0'在內。
包含在頭文件<string.h>里
例如
char str[10]={\"china\"};
printf(\"%d\",strlen(srt));
輸出5。

⑺ c語言中有一個可以測試字元串長度的函數,是哪個呀

不用了,你可以這樣
sizeof(a)-1;
其中a為未定義長度的char
a[];

⑻ c語言關於字元串檢測問題

你是在比較字元串,你又用字元的方法去一個個比,肯定出錯啊,直接這樣就ok

第二個問題:如果定義是charch=「ls」,是字元串,charch=『ls』是字元

⑼ c語言怎麼檢測輸入字元串的個數

#include"stdio.h"
intmain(intargc,char*argv[]){
charch,m,t;
printf("Pleaseentersomestring... ");
m=0,t='';
while((ch=getchar())!=' '){
if(t==''&&ch!='')
m++;
t=ch;
}
printf(" Youenter%dstring(s),itis'%c'end ",m,t);
return0;
}

運行樣例:

⑽ C語言測試字元串是否相等,為什麼下面兩個字元串被認為不等,可如果我把字元空間擴大到十以上又相等了

1~9有九個數,你的數組長度只有9.你的字元串結束標記「 \0」存在哪裡的?

請把數組長度都先改成10或以上.

arr[8] == '9' arr[8] 後面的東西你知道是什麼東西么? 天知道內存順序是怎麼分配的,天知道你不申請足夠的內存,那個『\0』什麼時候才會遇到。
天知道arr[8] tmp[8]之後是什麼? 你沒有手動設置 \0 或沒有足夠的空間讓編譯器幫助你添加'\0' 結束標記,程序就一直往後面找直到有一個結束.
***
思考一下:假如你是一個 strcmp函數,別人傳入的參數就只有兩地字元串的首地址,你從這兩個首地址對應的字元開始比較,一個一個往後比較,什麼時候停止了? 莫非不停止比到天荒地老.
先學習正確的寫法,錯誤的寫法為什麼有時候會錯有時候會對先別研究了。
理解一下strcmp的實現邏輯.
int strcmp( char* s , char* t)
{
int ret_val = 0;
while(*s && *t) /* 兩個同時不為結束標志 */
{
if(*s > *t)
{
return 1;
}
else if(*s == *t)
{
/*若相等則去比較下一個字元*/
s++;
t++;
}
else
{
return -1;
}
}

/*其中有一個為0*/
if(*s > *t)
{
/* *s != 0 , *t == 0 */
return 1;
}
else if(*s == *t)
{
/* 兩個都為0 */
return 0;
}
else
{
/* *s == 0 , *t != 0 */
return -1;
}

}