Day7
一、思维导图
二、作业
atoi函数(非函数实现)
输入一个字符串自行实现atoi函数(非函数实现)
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a[20]={0};
gets(a);
int i=0;
while(a[i]==' ')
{
i++;
}
if(a[i]=='+'||a[i]=='-')
i++;
int j=i;
int sum=0;
while(a[j]!='\0')
{
if(a[j]<='9'&&a[j]>='0')
sum=sum*10+a[j]-48;
else
break;
j++;
}
if(a[i-1]=='-')
sum=-sum;
printf("sum=%d\n",sum);
return 0;
}
运行结果
计算最大值
输入三个字符串计算最大值(字符串函数实现)
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a[20],b[20],c[20];
gets(a);
gets(b);
gets(c);
if(strcmp(a,b)<=0)
{
if(strcmp(b,c)<=0)
printf("the max is c\n");
else if(strcmp(b,c)>0)
printf("the max is b\n");
}
else if(strcmp(a,b)>0)
{
if(strcmp(a,c)<=0)
printf("the max is c\n");
else if(strcmp(a,c)>0)
printf("the max is a\n");
}
return 0;
}
运行结果
字符串交换
输入两个字符串,实现交换(字符串函数实现)
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a[20],b[20],c[20];
gets(a);
gets(b);
strcpy(c,a);
strcpy(a,b);
strcpy(b,c);
puts(a);
puts(b);
return 0;
}
运行结果
字符串连接
输入两个字符串,实现字符串连接(非函数实现)
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a[20],b[8];
gets(a);
gets(b);
int i=0;
size_t count=0;
while(a[i]!='\0')
{
count++;
i++;
}
int j=0;
while(b[j]!='\0')
{
a[count]=b[j];
count++;
j++;
}
a[count]='\0';
puts(a);
puts(b);
return 0;
}
运行结果
字符串拷贝
输入两个字符串实现字符串拷贝(非函数实现)
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a[20],b[10];
gets(a);
gets(b);
int i;
for(i=0;a[i]!='\0';i++)
{
a[i]=b[i];
}
a[i]='\0';
puts(a);
puts(b);
return 0;
}
运行结果
字符串逆置
输入一个字符串实现字符串逆置
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a[20];
gets(a);
for(int i=0,j=strlen(a)-1;i<=j;i++,j--)
{
char t =a[i];
a[i]=a[j];
a[j]=t;
}
puts(a);
return 0;
}
运行结果
字符串简单选择排序
输入一个字符串,对每一个字符实现简单选择排序
eg:
输入–> “aecbd”
输出—>“abcde”
代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char a[20];
gets(a);
for(int i=0;i<strlen(a)-1;i++)
{
int min=i;
for(int j=i+1;j<strlen(a);j++)
{
if(a[j]<a[min])
min = j;
}
char t=a[i];
a[i]=a[min];
a[min]=t;
}
puts(a);
return 0;
}