C和指標第九章的四個小程式碼
阿新 • • 發佈:2019-01-22
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//作用是將那個數字按照一定格式輸出9_14_15
void dollars( char *dest,char const *src );
int main()
{
char a[100];
char b[300];
printf("請輸入數字\n");
gets(a);
dollars( b, a);
puts(b);
//printf("Hello world!\n");
return 0;
}
void dollars( char *dest ,char const *src )
{
int length, i;
if( dest == NULL || src == NULL )
{
return;
}
*dest++ = '$';
length = strlen(src);
if( length >= 3 )
{
for(i = length-2; i>0; )
{
*dest++ = *src++;
if(--i > 0 && i % 3 ==0 )
*dest++ = ',';
}
}
else
{
*dest ++= '0';
}
*dest++ = '.';
*dest++ = length < 2 ? '0':*src++;
*dest++ = length < 1 ? '0':*src;
*dest ='\0';
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//單詞以空白字元分開,並且計算the出現的數目9_14_11
int main()
{
char a[100];
char *word;
char const whitespace[] = " \n\r\f\t\v ";
printf("輸入一大句英文!\n");
gets(a);
int count = 0;
for( word = strtok( a, whitespace ); word != NULL; word = strtok( NULL, whitespace) )
{
if( strcmp( word, "the" ) == 0 )
count+=1;
}
printf( "%d\n", count );
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
//類似strcpy的一個函式,但是返回的是指向目標字串末尾的指標
char *mystrcpy(char const *dest, char const *src);
int main()
{
char a[10]="ABC";
char b[7]="CDefg";
// char *first;
//char *last;
//first = strcpy(a, b);
//puts(a);
mystrcpy(a, b);
/*int j;
j = strlen (a);
int i;
for(i=0; i < j; i++)
{
printf("%c",a[i]);
}*/
puts(a);
return 0;
}
char * mystrcpy(char const *dest, char const *src)
{
char *m,*n;
m = dest;
n = src;
char *p;
while(( *m++ = *n++ )!='\0')
;
p=(m-1);
return p;
}
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
//計算字串的長度,也可以接受由於strnxx函式導致的沒有'\0'的字串長度,實際上就是看一個數組裡有'\0'就計算那個長,否則就是陣列長度
int mystrlen( char const *string, int size );
int main()
{
char a[7]="ABC";
char b[5]="CDEFG";
strncpy(a, b, 5);
int count;
count = mystrlen(a, 8);
printf("%d\n", count);
return 0;
}
int mystrlen( char const *string, int size )
{
int length = 0;
for(length = 0; length < size; length++)
{
if(*string++ == '\0')
break;
}
return length;
}