請編函數fun,其功能是將一個數字字符串轉換成與其面值相同的長整形整數。可調用strlen函數求字符串的長度。
#include <stdio.h> #include <string.h> void NONO(); long fun( char *s ) { int i,j,n,t; int a[10]; long m=0; n=strlen(s); for(i=0;i<n;i++) { a[i]=s[i]-'0'; for(j=0;j<n-i-1;j++) { a[i]*=10; } } for(i=0;i<n;i++) { m+=a[i]; } return m; } main() { char s[10]; long r; printf("請輸入一個長度不超過9個字符的數字字符串 : "); gets(s); r = fun( s ); printf(" r = %ld\n" , r ); NONO(); } void NONO() {/* 本函數用於打開文件,輸入數據,調用函數,輸出數據,關閉文件。 */ FILE *fp, *wf ; int i; long r; char s[10], *p; fp = fopen("..\\in.dat","r") ; wf = fopen("..\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fgets(s, 10, fp); p = strchr(s, '\n'); if (p) *p = 0; r = fun(s); fprintf(wf, "%ld\n", r); } fclose(fp) ; fclose(wf) ; }
運行結果