程序如下:
创新互联建站于2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元济南做网站,已为上家服务,为济南各地企业和个人服务,联系电话:18980820575
main(){
int c;
char s[100],*p;
char a='a',z='z';
scanf("%s",s);
for(c=0,p=s;*p;p++)
if(*p=a*p=z)
++c;
printf("字符串%s中共有小写字母%c个。\n",a,c);
}
有什么问题请留言。
#include stdio.h
#include string.h
void delch(char s[], char ch)
{
int i, j;
for (i = strlen(s); i = 0; i--)
if (s[i] == ch)
break;
for (j = i ; s[j] != '\0'; j++)//==============
s[j] = s[j+1];//================
//s[j] = '\0';
}
void main()
{
char s[] = "##Chinese#";
delch(s, 'e');
puts(s);
}
#includelt;stdio.hgt;
#includelt;string.hgt;
#define MAXS 10
void Shift(char s[]);
void GetString(char s[]);/*实现细节在此不表*/
int main()
{
char s[MAXS];
GetString(s);
Shift(s);
printf("%s\n",s);
return 0;
}
/*你的代码将被嵌在这里*/
代码:
void Shift(char s[])
{
int len=strlen(s);
if(len==3);
else
{
int i;
char str[100];
int t=0;
for(i=0;ilt;3;i++)
{
strlt;igt;=slt;igt;;
}
for(i=3;ilt;len;i++)
{
s[t++]=slt;igt;;
}
for(i=0;ilt;3;i++)
{
s[t++]=strlt;igt;;
}
}
}
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#includelt;文件名gt;
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#includelt;math.hgt;//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。
#includestdio.h
#includestring.h
void trim1(char *a)
{
int n;
n=strlen(a);
for(;n0;n--) //去除a后的空格;
{
if(a[n-1]==' ')
a[n-1]='\0';
else
break;
}
strrev(a); //去除a前的空格;先翻转字符,处理后再翻转;
n=strlen(a);
for(;n0;n--) //去除a后的空格;
{
if(a[n-1]==' ')
a[n-1]='\0';
else
break;
}
strrev(a);
}
void trim2(char *a)
{
char s[10000]; //注意这里的数组长度,要保证数组不越界!!!
int n,i,d=0;
n=strlen(a);
for(i=0;in;i++) //去空格;
{
if(a[i]!=' ')
s[d++]=a[i];
}
for(i=0;id;i++) //把处理好的字符复制到a中;
a[i]=s[i];
a[i]='\0';
}
void rev(char *a)
{
int n,i,m;
char s;
n=strlen(a);
for(i=0,m=n/2;im;i++)
{
s=a[i];
a[i]=a[n-i-1];
a[n-i]=s;
}
}
int main ()
{
char a[]=" a b c dd e",b[]=" a b c dd e";
trim1(a);
puts(a);
trim2(b);
puts(b);
rev(a);
puts(a);
return 0;
}
vc测试正确,不过能力有限,不会优化;
strcmp的规则是:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
strcmp(str1,str2)是str1小于str2时返回小于零的值,大于返回大于零的值,此题中t指的就是s2,B选项s1s2位置反了。D是对的。
#include stdio.h
int main(){
void Total(char st[],int b[]);
char st[20];
int b[4]={0,0,0,0};
scanf("%s",st);
Total(st,b);
printf("字符串长度:%d,字母个数:%d,数字个数:%d,其他字符个数:%d\n",b[0],b[1],b[2],b[3]);
return 0;
}
void Total(char st[],int b[]){
int i;
while(st[i]!='\0'){
b[0]++;
if((st[i]='A' st[i]='Z')||(st[i]='a' st[i]='z')){
b[1]++;
}else if(st[i]='0' st[i]='9'){
b[2]++;
}else{
b[3]++;
}
i++;
}
}