step1 . day6 C语言基础练习之数组和字符串

今天复习之数组即字符串相关知识,贴几个小练习,体会一下数组细节知识点:

1.冒泡排序

#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.选择排序(不使用中间变量交换)

#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.复写strcpy strcmp strcat strlen(提前预习一下函数和使用指针的函数传参)

#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);
// printf("验证cp函数n:%s\n",strcpy(dest,src));
//
// printf("src的字符长度是:%d\n",lenth(src));
// printf("验证lenth函数:%d\n",strlen(src));

// cat(dest,src);
printf("cat函数验证:%s\n",strcat(dest,src));
return 0;
}

猜你喜欢

转载自www.cnblogs.com/huiji12321/p/11123381.html