本文目錄一覽:
C語言不用string.h將數值轉化為字元串
#include stdio.h
double toDouble(char dstr[]) {
double decimal = 0,integer = 0,times = 10;
int i = 0,sign = 1;
if(dstr[i] == ‘-‘) {
sign = -1;
++i;
}
while(dstr[i] dstr[i] != ‘.’) {
if(dstr[i] = ‘0’ dstr[i] = ‘9’)
integer = 10 * integer + dstr[i] – ‘0’;
++i;
}
if(dstr[i] == ‘.’) {
while(dstr[i]) {
if(dstr[i] = ‘0’ dstr[i] = ‘9’) {
decimal += (dstr[i] – ‘0’)/times;
times *= 10;
}
++i;
}
}
return sign * (integer + decimal);
}
int toInteger(char istr[]) {
int i = 0,num = 0,sign = 1;
if(istr[i] == ‘-‘) { sign = -1; ++i; }
while(istr[i]) {
if(istr[i] = ‘0’ istr[i] = ‘9’)
num = 10 * num + istr[i] – ‘0’;
++i;
}
return sign * num;
}
int main() {
char s[] = “36.56”;
char t[] = “127”;
printf(“%lf,%d\n”,toDouble(s),toInteger(t));
return 0;
}
C語言不用string.h把兩個不同的字元串合併成一個
char *my_strcat(char * const d,char *s)
{
char *p=d;
while(*p)p++;
while(*p++=*s++);
return d;
}
C語言不用string.h實現字元串中出現的大寫字母轉化為小寫字母
下面的程序先循環讀取字元,判斷是否為大寫字母,即是否在A至Z之間。如果是大寫字母,就加32,這樣字元的ASCII碼就改變了。比如大寫A,ASCII碼為65,加32變為97,就是小寫a了。
#includestdio.h
#includestdlib.h
int main()
{
char str[20]=”ABCdefGhijKL”;
int i;
printf(“before change,string is %s\n”,str);
for(i=0;str[i]!=’\0′;i++)
{
if(str[i]=’Z’ str[i]=’A’)
{
str[i]=str[i]+32;
}
}
printf(“after change,string is %s\n”,str);
return 0;
}
運行結果如下,可以看到字元串中的大寫字母變為了小寫字母。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152844.html