【C語言】編寫函式實現庫函式atoi,把字串轉換成整形
//編寫函式實現庫函式atoi,把字串轉換成整形 #include <stdio.h> #include <string.h> int my_atoi(const char *src) { int flag=1; int sum=0; while (*src) { if (*src == ' ') src++; else if (*src == '+') { src++; flag = 1; } else if(*src == '-') { src++; flag = -1; } else if(*src >= '0'&&*src <= '9') { sum = sum * 10 + (*src - '0'); src++; } else { return 0; } } sum = sum*flag; return sum; } int main() { printf("%d\n", my_atoi(" +12345")); printf("%d\n", my_atoi(" -12345")); printf("%d\n", my_atoi("+12345")); printf("%d\n", my_atoi("-12345")); printf("%d\n", my_atoi("123 45")); printf("%d\n", my_atoi("234 5")); printf("%d\n", my_atoi("")); printf("%d\n", my_atoi("123ab")); return 0; }
相關推薦
【C語言】編寫函式實現庫函式atoi,把字串轉換成整形
//編寫函式實現庫函式atoi,把字串轉換成整形 #include <stdio.h> #include <string.h> int my_atoi(const char *
【C語言】編寫一個折半查詢函式
#include <stdio.h> int zheban(int x,int arr[],int left,int right) { while(left<=right) {
【C語言】編寫一個函式,實現兩個數的交換 詳細解答
今天在用函式寫兩數交換的時候發現有點小挫折,然後經過多次查詢驗證才發現是因為地址不對的緣故,我在此放出兩種交換的方法,先發錯誤的如下:#include <stdio.h> void swap(int a,int b) { int temp=a; a
【C語言】編寫函式實現:100-200素數的輸出
這裡面,先要理解素數如何求得,可用自己除以2到自己的前一位,根據餘數情況判斷是素數還是合數。優化:(1)從101開始,每次自加2,這樣提高效率一倍。(2)一直除以自己的平方根也可。#include<stdio.h> #include<math.h&g
【C語言】編寫一個函式,將一個數字字串轉換成這個字串對應的數字(包括正浮點數、負浮點數)
//編寫一個函式,將一個數字字串轉換成這個字串對應的數字(包括正浮點數、負浮點數) //例如:“12.34“ 返回12.34. " -12.34" 返回12.34 #include<
【c語言】編寫程式打印出以下形式的楊輝三角形
楊輝三角形 可以將楊輝三角形的值放在一個方形矩陣的下半三角中,如需列印7行楊輝三角形,應該定義等於或大於7x7的方形矩陣,只是矩陣的上半部分和其餘部分並不使用。 楊輝三角形具有以下特點: (1)第一列和對角線上的元素都為1; (2)除第一列和對角線上的元素之外,其他的元素的值均
【C語言】編寫一個程式顯示當前時間。
#include<sys/time.h> #include<time.h> #include<stdio.h> int main() {struct tm *ptm;time_t ts;char tim[50];ts = time(NUL
【c語言】遞迴實現n的k次方
問題描述: 如題。 分析: 1.n的k次=n*n*n*……*n(k個n),用遞迴的思想來講,就等於2.n的k次=n*(n的(k-1)次方) 程式碼如下: #include<stdi
【C 語言】結構體相關 的 函式 指標 陣列
.作者 : 萬境絕塵.結構體概述 : 結構體是 多個 變數的集合, 變數的型別可以不同;-- 可進行的操作 : 結構體可以進行 拷貝 賦值操作, 可以作為 函式引數 和 函式返回值;1. 結構體的基本使用結構體宣告 : struct 結構標記 {結構成員} 普通變數;-- 結
【c語言】設圓半徑r = 1.5,圓柱高h = 3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積
要求scanf輸入資料,並有相應文字說明 #include<stdio.h> int main() { float r,h,pi=3.141592 ; printf("請輸入圓半徑r和圓柱高h:"); scanf("%f%f",&r,&h); printf(
【C語言】ASCII碼的數字轉字母,字母轉數字的方法
#include <stdio.h> int main(){ //輸入字母,再輸出字母的方法 printf("輸入字母,再輸出字母的方法\n"); char c1,c2; scanf("%c,%c",&
【c語言】給出三角形的三邊長,求三角形面積
設三角形三邊長為a、b、c,並滿足約束條件三邊之和大於第三邊,面積為Area 則: 其中 C語言程式碼: #include <stdio.h> #include <math.h> int main() { double a
【C語言】統計隨機數中數字出現個數,並列印直方圖
實現功能:生成二十個隨機數。統計二十個數中,0-9數字出現的次數,並列印成直方圖 #include<stdio.h> #include<stdlib.h> #define N 20 int a[N],b[10]; void gen_rand
【C語言】自己編寫程式實現strrchr函式,即在給定字串中找特定的字元並返回最後出現的位置
//自己編寫程式實現strrchr函式,即在給定字串中找特定的字元並返回最後出現的位置 #include <stdio.h> #include <string.h> char
【C語言】自己編寫程式實現strchr函式。即在給定字串中找特定的字元並返回該處指標。
<pre name="code" class="cpp">//自己編寫程式實現strchr函式。即在給定字串中找特定的字元並返回該處指標。 #include <stdio.h>
【c語言】利用指標模式實現字串函式(strlen、strcat、strstr、strcpy、strcmp、memcpy、memove)
模擬實現strlen int my_strlen(const char *p) { assert(p != NULL); char *s = p; while (*p) { p++; } r
【C語言】字串函式的實現
求字串的長度 strlen 長度不受限制的字串函式 strcpy strcat strcmp 長度受限制的字串函式 strncpy strncat strncmp 字串查詢 strc
【C語言】模擬實現strchr函式.即在一個字串中查詢一個字元第一次出現的位置並返回
//模擬實現strchr函式.即在一個字串中查詢一個字元第一次出現的位置並返回 #include <stdio.h> //#include <string.h> #includ
【C語言】使用可變引數,實現函式,求函式引數的最大值。
求若干個引數的最大值,我們假定第一個可變引數為最大值,定義為max,將之後的每一個可變引數和第一個可變引數相比較,始終在max裡存放的是最大值。 但是這裡需要注意,每一次呼叫va_arg,都會指向下一個可變引數,因此我們需要將其值儲存在臨時變數裡,以防指向錯誤。 #includ
【C語言】標準庫字串函式整理
strcmp 字串比較 函式原型 extern int strcmp(const char *s1,const char *s2); 說明 C/C++函式,比較兩個字串 設這兩個字串為str1,str2, 若str1==str2,則返回零; 若str1<