1.前后差异判定
统计下列数组中单词的数量(单词之间以空格分隔)
当前字符为‘空格’下一字符不为‘空格’则出现了新的单词
char array[]="I love China.";
int word=0,num=0;
for(i=0;'\0'!=array[i];i++)
if(' '==array[i])
word=0;
else if(0==word)
{
word=1;
num+=1;
}
printf("%d\n",num);
2.前n项阶乘的和
int n=5,flag=1,sumni=0;
for(j=1;j<=n;j++)
{
flag*=j; //j的阶乘
sumni+=flag;
}
printf("前n项阶乘的和:%d\n",sumni);
3.查找字符串
int FindKey_C(char* buf,char* key)
{
int i=0,j=0;
while('\0'!=buf[i])
{
if(key[0]==buf[i]) //第一个字符匹配
for(j=0;buf[i+j]==key[j];j++)
if('\0'==key[j+1]) //前面都相同且下一个要匹配的字符为'\0',则查找成功
{
printf("find!\n");
return 1;
}
else
j=0;
i++;
}
printf("no fund\n");
return 0;
}
字符数组循环右移:
字符数组最后一位:'\0'!!!
char buf[]="abcdefjhjkImnopgrstwvuxyz";
printf("初始值为:%s\n",buf);
int i=O, j=strlen(buf),k;
char temp;
printf(“输入右移位数:\n");
scanf("%d", &n);
while(i<n)
{
k=j;
while(0!=k)//右移1位
{
buf[k]=buf[k-1];
k--;
}
buf[0]=buf[j];
buf[j]='\O';
i++;
}
printf (“位移%d后的值为:\n%s\n",n, buf);