#include <stdio.h>
int main(int argc, const char *argv[])
{int m=0,n=0;
scanf("%d %d",&m,&n);
char a[100][100]={0};
int i,j,k;
for(i=0;i<m;i++)
{
for(j=0;j<=i;j++)
{
if(j==0)
{
a[i][0]=1;
}
else
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
for(i=0;i<m;i++)
{
for(k=1;k+i<=m;k++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
printf("%-4d",a[i][j]);
}
printf("\n");
}
return 0;
}
- 实现字符串逆置
例如:char a[]=”hello my student”
输出:student my hello
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i=0,j=0;
int k=0;
int len=0;
char temp;
char a[]="hellow my student";
len=strlen(a);
for(i=0;i<len/2;i++)
{
temp=a[i];
a[i]=a[len-i-1];
a[len-1-i]=temp;
}
i=0;
j=0;
while(a[i]!='\0')
{
while(a[j]!=' '&&a[j]!='\0')
{
j++;
}
k=j-1;
while(i<k)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
i++;
k--;
}
while(a[j]==' ')
{
j++;
}
i=j;
}
puts(a);
return 0;
}
2,使用非函数方法实现字符串比较
#include <stdio.h>
int main(int argc, const char *argv[])
{
char a[20];
char b[10];
int cha;
int i=0,j=0;
gets(a);
gets(b);
while(a[i]==b[j])
{
if(a[i]=='\0'&&b[i]=='\0')
{
cha =a[i]-b[j];
break;
}
else
{
i++;j++;
}
}
cha=a[i]-b[j];
if(cha==0)
printf("a=b\n");
else if(cha>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 a[20]="sadasd";
char b[5]="asd";
int i=strlen(a);
int j=0;
for(j=0;b[j]!='\0';j++)
{
a[i++]=b[j];
}
a[i]='\0';
puts(a);
return 0;
}
4,打印m行n列的杨辉三角
#include <stdio.h>
int main(int argc, const char *argv[])
{ int a[20][20]={0};
int n;
scanf("%d",&n);
int i=0,j=0;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
if(j==0||i==j)
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}