重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
#includestdio.h
創(chuàng)新互聯(lián)公司長期為1000+客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為武清企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設計,武清網(wǎng)站改版等技術(shù)服務。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
#includestring.h
int?str2int(char?*ch);//字符型數(shù)字轉(zhuǎn)整型數(shù)字
int?p10(int?m);//計算10的次方,pow函數(shù)計算10次方有誤差,重寫函數(shù)
int?main()
{
char?ch[]="234";
int?n;
n=str2int(ch);
printf("n=%d\n",n);
return?0;
}
int?str2int(char?*ch)
{
int?len=strlen(ch),i,n=0,m=0;
for(i=len-1;i=0;i--)
{
n=n+(ch[i]-'0')*p10(m++);
}
return?n;
}
int?p10(int?m)
{
int?i,sum=1;
if(m==0)
return?1;
for(i=0;im;i++)
sum=sum*10;
return?sum;
}
功能:數(shù)字字符串轉(zhuǎn)整型int,去除高位0。
注意:不要輸入超出int范圍。
#include?stdio.h
#include?string.h
int?pw10(int?m);//計算10次方
int?str2int(char?*nums);
int?main()
{
char?nums[]="0103456";
int?num;
printf("原字符串:%s\n",nums);
num=str2int(nums);
printf("轉(zhuǎn)成整型后的數(shù)字為:%d\n",num);
return?0;
}
int?pw10(int?m)//計算10次方
{
int?i,mu=1;
if(m==0)
return?1;
for(i=0;im;i++)
mu=?mu*10;
return?mu;
}
int?str2int(char?*nums)
{
char?*p=nums;
int?len=strlen(nums),i,m=0,sum=0;
while(1)//去高位0
{
if(*p=='0')
p++;
else
break;
}
for(i=len-1;nums[i]=p;i--)
sum=sum+(nums[i]-'0')*pw10(m++);
return?sum;
}
字符串轉(zhuǎn)整數(shù)可以有兩種方法:
1.使用c語言自帶的庫函數(shù):atoi。
函數(shù)原型:int atoi(const char *nptr);
功能:把字符串轉(zhuǎn)成整型數(shù)。
例如:
#include?stdlib.h
#include?stdio.h?
int?main(void)
{
int?n;
char?*str?=?"12345";
n?=?atoi(str);
printf("int=%d\n",n);
return?0;
}
/*
輸出:
int?=?12345
*/
2.可以自己編寫一個轉(zhuǎn)換函數(shù):
#include?stdio.h
#include?stdlib.h
int?atoi(char?*s)
{
int?t=0;
while(*s){
t=t*10+*s-'0';
s++;
}
return(t);
}
int?main?()
{
char?a[]="12345";
int?n?=?atoi(a);
printf("n=%d?",n);
return?0;
}
/*
輸出:
n?=?12345
*/
#include "stdio.h"
#include "math.h"
main()
{
char change(int x,int n);
int x,i,j;
char s[8],y;
printf("請輸入整數(shù):");
scanf("%d",x);
for(i=0;i20;i++)
{
y=change(x,i);
if(y=='\0')
{
s[i]='\0';
break;
}
s[i]=y;
}
for(i=7;i=0;i--)//由于字符存儲到字符數(shù)組時順序與原來相反,故在此將字符順序倒輸
if(s[i]=='\0')
for(j=i-1;j=0;j--)
printf("%c",s[j]);
printf("\n");
}
char change(int x,int n)
{
int i;
char g;
for(i=0;i=n;i++)
{
switch(x%10)
{
case 0 :g='0';break;
case 1 :g='1';break;
case 2 :g='2';break;
case 3 :g='3';break;
case 4 :g='4';break;
case 5 :g='5';break;
case 6 :g='6';break;
case 7 :g='7';break;
case 8 :g='8';break;
case 9 :g='9';break;
}
if(x==0)
{
g='\0';
break;
}
x=x/10;
}
return(g);
}
在C/C++語言中沒有專門的字符串變量
通常用字符數(shù)組來存放字符串。字符串是以“\0”作為結(jié)束符。C/C++提供了豐富的字符串處理函數(shù),下面列出了幾個最常用的函數(shù)。
字符串是面試的重點考查部分的相關(guān)知識,通過考查字符串的相關(guān)知識可以考察程序員的編程規(guī)范以及編程習慣。并且其中包括了許多知識點,例如內(nèi)存越界、指針與數(shù)組操作等。許多公司在面試時會要求應聘者寫一段復制字符串或字符串子串操作的程序。本章列舉了一些與字符串相關(guān)的面試題,有些題目要求較高的編程技巧。
以上內(nèi)容參考:百度百科-字符串