思维导图:
1.实现函数atoi,将输入的字符串转化为数字。(输入可能包含非数字字符)
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//实现函数atoi,将输入的字符串转化为数字。(输入可能包含非数字字符)
char str[20]="";
printf("please enter str:");
gets(str);
int sum=0;
for(int i=0;str[i]!='\0';i++){
if(str[i]>='0'&&str[i]<='9'){
sum=sum*10+str[i]-'0';
}
}
printf("sum=%d\n",sum);
return 0;
}
2.初始化两个字符串,使用非函数实现字符串的比较
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//初始化两个字符串,使用非函数实现字符串的比较
char a[]="asdf";
char b[]="azx";
int i=0;
while(a[i]==b[i]){
if(a[i]=='\0'){
break;
}
i++;
}
int sub=a[i]-b[i];
if(sub==0){
printf("a=b\n");
}else if(sub>0){
printf("a>b\n");
}else {
printf("a<b\n");
}
return 0;
}
3.不使用系统函数实现strcat()
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//不使用系统函数实现strcat()
//char a[30]="asdf";
//char b[20]="azx";
char a[30]="";
char b[20]="";
printf("please enter a:");
gets(a);
printf("please enter b:");
gets(b);
int i=0;
while(a[i]!='\0'){
i++;
}
int j=0;
while(b[j]!='\0'){
a[i]=b[j];
i++;j++;
}
a[i]='\0';
puts(a);
return 0;
}
4.输入两个字符串实现交换strcpy
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
//输入两个字符串实现交换
char a[30]="";
char b[20]="";
char t[30]="";
printf("please enter a:");
gets(a);
printf("please enter b:");
gets(b);
int i;
for(i=0;a[i]!='\0';i++){
t[i]=a[i];
}
t[i]='\0';
for(i=0;b[i]!='\0';i++){
a[i]=b[i];
}
a[i]='\0';
for(i=0;t[i]!='\0';i++){
b[i]=t[i];
}
b[i]='\0';
printf("a[]=");
puts(a);
printf("b[]=");
puts(b);
return 0;
}