step1. day6 array of C language and strings of basic training

Today that is an array of strings knowledge review, posted a few short exercises to experience the array of details of knowledge:

1. Bubble Sort

#include <stdio.h>

#define N 10

int main(int argc, const char *argv[])
{
int i,j;
int arr[N],tep;
printf("please input 10 numbers:\n");
for(i=0 ; i<N ; i++){
printf("arr[%d]:",i);
scanf("%d",&arr[i]);
}
printf("arr is :");
for(i=0 ; i<N; i++){
printf("%d ",arr[i]);
}
printf("\n");

for(i=0;i<N-1;i++){
for(j=0;j<N-i-1;j++){
if(arr[j]>arr[j+1])
{
tep = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tep;
}
}
}
printf("sort arr is:");
for(i=0 ; i<N; i++){
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}

2. Selection Sort (without using the intermediate variable exchange)

#include <stdio.h>

#define N 10

int main(int argc, const char *argv[])
{
int i,j;
int index;
int arr[N];

printf("please input 10 numbers:\n");
for(i=0 ; i<N ; i++){
printf("arr[%d]:",i);
scanf("%d",&arr[i]);
}

printf("arr is :");
for(i=0 ; i<N; i++)
printf("%d ",arr[i]);
printf("\n");


for(i=0;i<N;i++){
index = i;
for(j=i+1;j<N;j++){
if(arr[index]>arr[j])
index = j;
}
if(index != i){
arr[i] += arr[index];
arr[index] = arr[i] - arr[index];
arr[i] = arr[i]- arr[index];
}
}

printf("sort arr is:");

for(i=0 ; i<N; i++)
printf("%d ",arr[i]);
printf("\n");

return 0;
}

3. replication strcpy strcmp strcat strlen (unprepared mass participation at the function and use of the function pointer)

#include <stdio.h>
#include <string.h>

#define N 50
int lenth(char *src)
{
int i=0;
while(src[i] != '\0')
i++;
return i;
}

void cpy(char *dest,char *src){
int i = 0;
while(src[i] != '\0'){
dest[i] = src[i];
i++;
}
dest[i] = '\0';

printf("copy completely! dest is :%s\n",dest);
}

void cat(char *dest,char *src){
int i = 0,j = 0;
int k;
while(src[i] != '\0')
i++;
while(dest[j] != '\0')
j++;
for(k=0;k<i;k++)
dest[j+k] = src[k];
dest[j+k] = '\0';

printf("cat completely! dest is :%s\n",dest);
}

int compare(char *dest,char *src){
int i =lenth(src);
for(i = 0;i<lenth(src);i++)
if(src[i] > dest[i])
return -1;
else if(src[i] < dest[i])
return 1;
else
continue;
return 0;
}


int main(int argc, const char *argv[])
{
char src[20];
char dest[N];

printf("please input a src str:");
// scanf("%s",src);//无法如数空格符
gets(src);
printf("please input a dest str:");
//scanf("%s",dest);
gets(dest);

// printf("cmp result:%d\n",compare(dest,src));
// printf("compare函数验证:%d\n",strcmp(dest,src));

CPY // (dest, src);
// the printf ( "authentication function cp n-:% S \ n-", strcpy (dest, src));
//
// the printf ( "src character length is:% d \ n ", lenth (the src));
// the printf (" authentication function lenth:% d \ n ", strlen (src));

CAT // (dest, the src);
the printf ( "CAT validation function:% S \ n-", strcat (dest, the src));
return 0;
}

Guess you like

Origin www.cnblogs.com/huiji12321/p/11123381.html