- 实现字符串逆置
例如:char a[]=”hello my student”
输出:student my hello
#include<stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char a[]="hello my student";
int i=0,j=strlen(a)-1;
char t;
while(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
i=0;
j=0;
int k;
while(a[i]!='\0')
{
while(a[j]!=' '&&a[j]!='\0')
{
j++;
}
k=j-1;
while(i<k)
{
t=a[i];
a[i]=a[k];
a[k]=t;
i++;
k--;
}
while(a[j]==' ')
{
j++;
}
i=j;
}
puts(a);
return 0;
}
2,使用非函数方法实现字符串比较
#include<stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char a[]="abc",b[]="ABC";
int i=0,j=0,sub;
while(a[i]==b[j])
{
if(a[i]=='\0'&&b[j]=='\0')
{
break;
}
else
{
i++;
j++;
}
}
sub=a[i]-b[j];
if(sub==0)
printf("a=b\n");
else if(sub>0)
printf("a>b\n");
else
printf("a<b\n");
return 0;
}
3,使用非函数方法实现字符串连接
#include<stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[20],brr[20];
char len1,len2,len;
char crr[100];
printf("请输入两个字符串:\n");
scanf("%s %s",arr,brr);
len1=strlen(arr);
len2=strlen(brr);
len=len1+len2-1;
for(int i=0;i<=len;i++)
{
if(i<len1)
{
crr[i]=arr[i];
}
else
{
crr[i]=brr[i-len1];
}
}
puts(crr);
return 0;
}
4.打印杨辉三角
#include<stdio.h>
#include <string.h>
#define LINE_MAXIMUM 10
int main(int argc, const char *argv[])
{
int i = 0, j = 0;
int array[LINE_MAXIMUM][LINE_MAXIMUM] = {0};
for(i = 0; i < LINE_MAXIMUM; i++)
{
for(j = 0; j <= i; j++)
{
if(j == 0 || j == i)
array[i][j] = 1;
else
array[i][j] = array[i - 1][j - 1]\
+ array[i - 1][j];
}
}
for(i = 0; i < LINE_MAXIMUM; i++)
{
for(j = 0; j <= i; j++)
printf("%d ", array[i][j]);
printf("\n");
}
return 0;
}