//第5个我没看懂题目什么意思,你解释一下
//1、写一个函数,求一个字符串的长度,在main函数中输入字符转,并输出其长度。
/////编译环境VC6.0///////
#include"stdio.h"
#include"string.h"
#define N 100 //字符串长度的最大限制
int statistic(char *p) //统计字符串长度
{
int k=0;
while(*p!='\0')
{
k++;
p++;
}
return k;
}
void main()
{
char str[N];
printf("请输入字符串:");
scanf("%s",str);
int length; //字符串长度
length=statistic(str);
printf("字符串长度为:%d\n",length);
}
//2、写一个函数,实现两个字符串的比较,及自己写一个strcmp函数:strcmp(s1,s2)如果s1>s2,则输出正值;如果s1
/////编译环境VC6.0///////
#include"stdio.h"
#include"string.h"
void strcmp(char *str1,char *str2) //逐个字符比较str1
int k=0; //str1=str2时,输出0
char *p1,*p2;
p1=str1;
p2=str2;
while(((*p1)!='\0')&&((*p2)!='\0'))
{
if(*p1>*p2)
{
k=9;
break;
}
if((*p1)<(*p2))
{
k=-9;
break;
}
if((*p1)==(*p2))
{
p1++;
p2++;
k=0;
}
}
printf("%d\n",k);
}
void main()
{
char str1[20];
char str2[20];
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第一个字符串:");
gets(str2);
strcmp(str1,str2);
}
//3、在主函数中输入3个等长的字符串。用一个函数对它们排序。然后在主函数输出这个已排好序的字符串。
/////////编译环境 VC6.0////////////
#include"stdio.h"
#include"string.h"
#define N 15
void str_sort(char *str1,char *str2,char *str3)//由大到小输出
{
int a12=strcmp(str1,str2);
int a13=strcmp(str1,str3);
int a23=strcmp(str2,str3);
if(a12>=0)
if(a13>=0)
if(a23>=0)
{
puts(str1);
puts(str2);
puts(str3);
}
else
{
puts(str1);
puts(str3);
puts(str2);
}
else
{
puts(str3);
puts(str1);
puts(str2);
}
else
if(a13>=0)
{
puts(str2);
puts(str1);
puts(str3);
}
else
if(a23>=0)
{
puts(str2);
puts(str3);
puts(str1);
}
else
{
puts(str3);
puts(str2);
puts(str1);
}
}
void main()
{
char str1[N];
char str2[N];
char str3[N];
printf("输入字符串str1:");
scanf("%s",str1);
printf("输入字符串str2:");
scanf("%s",str2);
printf("输入字符串str3:");
scanf("%s",str3);
str_sort(str1,str2,str3);
}
//4、输入一行文字,找出其中大写字母、小写字母、空格、数字及其它字符各有多少?
////编译环境VC6.0
#include"stdio.h"
#include"string.h"
void statistic(char *p)
{
int m=0; //字符总数
int big=0; //大写字母
int small=0; //小写字母
int space=0; //空格
int num=0; //数字
int others=0; //其他
while(*p!='\0')
{
if(((*p)>=65) && ((*p)<=90))
big+=1;
if(((*p)>=97) && ((*p)<=122))
small+=1;
if((*p)==' ')
space+=1;
if(((*p)>=48) && ((*p)<=57))
num+=1;
m+=1;
p++;
}
others=m-big-small-num-space;
printf("大写字母:%d\n",big);
printf("小写字母:%d\n",small);
printf("空格:%d\n",space);
printf("数字:%d\n",num);
printf("其他:%d\n",others);
}
void main()
{
char str[200];
printf("输入字符串:");
gets(str);
char *p=str;
statistic(p);
}