1、计算一个字符串在另一个字符串出现的次数
//计算一个字符串在另一个字符串出现的次数
#include <stdio.h>
#include <string.h>
int main(){
int i,j,k,count;
char s1[20],s2[20];
printf("输入主串s1:\n");
gets(s1);
printf("输入主串s2:\n");
gets(s2);
count = 0;
for(i=0;i<strlen(s1);i++){
for(j=i,k=0;s1[j]==s2[k];j++,k++){
if(strlen(s2) == 1+k){
count++;
}
}
}
printf("s2在s1中出现的次数%d\n",count);
return 0;
}
运行结果:
2、一个十进制数转化成k进制数,并按位输出
//将一个十进制数转化成k进制数,并按位输出
#include <stdio.h>
int main(){
int a[100],i=0,m,k,s;
printf("请输入要转化的数字:\n");
scanf("%d",&m);
printf("请输入要将此数转化成的进制:\n");
s = m;
scanf("%d",&k);
while(m){
a[i]=m%k;
m=m/k;
i++;
}
i--;
printf("%d转化成的%d进制数为:",s,k);
for(;i>=0;i--){
printf("%d",a[i]);
}
printf("\n");
return 0;
}
运行结果:
3、fun函数把形参字符数组s中下标为偶数的小写字母转换为对应的大写字母,结果仍保留在原数组中
i%2==0下标为偶数
#include <stdio.h>
#include <string.h>
void fun(char s[]){
int i = 0;
while(i<strlen(s)){//i%2==0下标为偶数
if(i%2==0&&(s[i]>='a'&&s[i]<='z')){
s[i] -= 32;
}
i++;
}
}
int main(){
char str[80];
printf("input a string:\n");
gets(str);
fun(str);
printf("results:\n");
printf("%s\n",str);
return 0;
}
运行结果: