① c語言 輸入一個長度為10的字元串,
#include<stdio.h>
intmain()
{
charpsw[11];
inti;
printf("輸入10個字元:");
scanf("%s",psw);
printf("輸出:
");
for(i=0;i<10;i++)
{
if((psw[i]>='a'&&psw[i]<='z')||(psw[i]>='A'&&psw[i]<='Z'))
{
if(i==2)
psw[i]='E';
elseif(i==7)
psw[i]='e';
else
psw[i]=psw[i]<=90?psw[i]+32:psw[i]-32;//大寫變小寫,小寫變大寫
}
}
psw[10]=0;
printf("%s
",psw);
return0;
}
② C語言如何將一個數字組成的字元串轉變成十進制數
辦法很多,提供三種供參考。
一、直接使用庫函數atoi將數字字元串轉換成十進制整數。代碼如下:
#include"stdio.h"
#include"stdlib.h"//調用庫函數atoi要包含這個文件
intmain(intargc,char*argv[]){
chara[]="478167831";
printf("%d ",atoi(a));//直接調用atoi將a轉換為十進制整數
return0;
}
二、用庫函數sscanf直接將數組中的數字字元串讀入十進制整型變數。代碼如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx;
sscanf(a,"%d",&x);//調用sscanf,讀入時自動轉換為int型並由%d控制以十進制賦給變數x
printf("%d ",x);//輸出
return0;
}
三、自行編寫轉換代碼:
#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx,i;
for(x=i=0;a[i];(x*=10)+=a[i++]-'0');//字元與數字的關系是"字元值-'0'==同名數字"
printf("%d ",x);//輸出
return0;
}
上述三代碼的輸出結果如下圖:
③ c語言字元串長度有哪些
這個字元串長度為10個字元。
可以用strlen("ab'1'\12803")來求這個字元串的長度。
也可以用sizeof("ab'1'\12803")來求,但是這個求出的結果是多了一個字元串結束符 。
可以試著輸出這個字元串看看是不是10個字元。
strlen()函數判斷的字元串長度是以 為結尾作為標志的。
當char * m=new char[TOKEN_LENGTH]後,雖然為指針分配了地址,但是其指向的內容未被初始化,所以m指向的內容是未知的,可能在第24個字元的位置發現了 所以strlen()顯示長度為24。
數據類型
字元串數據類型是建模在形式字元串的想法上的數據類型。字元串是幾乎在所有編程語言中可以實現的非常重要和有用的數據類型。在某些語言中它們可作為基本類型獲得,在另一些語言中做為復合類型獲得。多數高級語言的語法允許通常用某種方式引用起來的字元串來表示字元串數據類型的實例;這種元字元串叫做「文本」或「字元串文本」。
以上內容參考:網路-字元串
④ c語言中,將字元轉換為十進制的程序
字元轉為10進制 用sscanf或者用atoi均可
以字元串中, 本身為10進制字元串為例
用sscanf程序如下:
#include<stdio.h>
intmain()
{
chars[20];
inti;
scanf("%s",s);
sscanf(s,"%d",&i);
printf("%d ",i);
return0;
}
⑤ C語言 十六進制字元串轉十進制
#include<stdio.h>
#include<string.h>
voidmain()
{
inti=0,j=0,result=0,index=0,cindex=0;
chara[100],b[100],c[4];
gets(a);//輸入數據
for(i=0;i<strlen(a);i++)
{
/*將16進制轉換成10進制*/
if(a[i]>='a'&&a[i]<='z')
result=result*16+a[i]-'a'+10;
elseif(a[i]>='A'&&a[i]<='Z')
result=result*16+a[i]-'A'+10;
else
result=result*16+a[i]-'0';
/*每兩位處理一次*/
if(i%2!=0)
{
cindex=0;
do
{
c[cindex++]=result%10+'0';//倒序存放在c中
result/=10;
}while(result!=0);
for(j=cindex-1;j>=0;j--)//翻轉後存放在b中
b[index++]=c[j];
}
}
b[index]='