最大字符串
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void find(char *name[],int n,int *p);
void main()
{
char *name[102];
char str[6];
int i,max=0;
for(i=0; ;i++)
{
gets(str);
if(strcmp(str,"*****")==0)break;
else
{
name[i]=(char*)malloc(sizeof(char)*(strlen(str)+1));
strcpy(name[i],str);
}
}
find(name,i,&max);
printf("%s\n",name[max]);
}
void find(char *name[],int n,int *p)
{
int i=0;
*p=0;
for(i=0;i<n;i++)
{
if(strcmp(name[i],name[*p])>0)
*p=i;
}
}
截断字符串
#include<stdio.h>
#include<string.h>
void mystrdel(char str1[],char str2[],int n)
{
for(char *p=&str1[n-1];*str2++=*p++;);return ;
}
void main()
{
int m,n;
char str1[30],str2[30];
scanf("%s",str1);
scanf("%d",&n);
mystrdel(str1,str2,n);
printf("%s",str2);
}
使用指针
#include<stdio.h>
#include<string.h>
int length(char *p)
{
int n=0;
while(*p!='\0')
{
n++;
p++;
}
return n;
}
void main()
{
char a[100];
int l;
gets(a);
l=length(a);
printf("%d",l);
}
翻转字符串
#include<stdio.h>
#include<string.h>
void fun(char *a)
{
char *p,*q;
char t;
p=a;
q=a+strlen(a)-1;
while(p<q)
{
t=*p;
*p=*q;
*q=t;
p++;
q--;
}
}
void main()
{
char a[100];
gets(a);
fun(a);
printf("%s\n",a);
}
猜猜我多长
#include<stdio.h>
#include<string.h>
int length(char *p)
{
int i=0;
while(*p++!=0)
{i+=1;}
return i;
}
void main()
{
char a[100];
int n;
gets(a);
n=length(a);
printf("%d",n);
}
用指针输出数组
#include<stdio.h>
void main()
{
int i,a[10],*p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
for(i=0;i<10;i++,p++)
printf("%d ",*p);
printf("\n");
}
字符串滞销,救救码农吧
#include<stdio.h>
void main()
{
char a[100],b[100],*p1,*p2;
gets(a);
int i;
p1=a;
p2=b;
for( ;*p1!='\0';p1++,p2++)
*p2=*p1;
*p2='\0';
printf("%s\n",b);
}
交换两个数字
#include<stdio.h>
void main()
{
int a,b;
scanf("%d %d",&a,&b);
swap(&a,&b);
printf("%d %d\n",a,b);
}
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
文章评论