C语言编程_字符串操作
大小写转换1
1000以内的水仙花数2
程序功能:求任意两个整型数之间的素数2
字符串缩位4
普通字符串逆序4
递归实现字符串逆序5
程序功能:谭浩强 6.13 扩展为高精度加法6
高精度加减法,考虑字符串加减法要设计’\0’,太麻烦了,转为数组8
高精度加法(减法)法214
//大小写转换
#include
#define MAXLEN 100
void main()
{
char str[MAXLEN]="";
int i=0;
scanf("%s",str);
for(i=0;i
{
if(*(str+i)<='z' && *(str+i)>='a')
{
*(str+i)=*(str+i)+'A'-'a';
}
else if(*(str+i)<='Z' && *(str+i)>='A')
{
*(str+i)=*(str+i)+'a'-'A';
}
else
{
strcpy(str,"error!");
break;
}
}
puts(str);
return 0;
}
//1000以内的水仙花数
#include
#define LEN 1000
int main()
{
int i,j,k;
int num;
int factor[LEN/2];
for(i=2;i
{
num=i;
k=0;
for(j=1;j
{
if(i%j==0)
{
num-=j;
factor[k++]=j;
}
}
if(num==0)
{
printf("%d=%d",i,factor[0]);
for(j=1;j
{
printf("+%d",factor[j]);
}
printf("\n");
}
}
}
//程序功能:求任意两个整型数之间的素数
#include
#include
int isprime(const int num);
int main()
{
int num1,num2;
int temp,i;
scanf("%d%d",&num1,&num2);
if (num1>num2)
{
temp=num1;
num1=num2;
num2=num1;
}
for(i=num1+1;i
{
if(isprime(i))
{
printf("%d ",i);
}
}
printf("\n");
return 0;
}
int isprime(const int num)
{
//判断是否为素数
int i;
if (num<2)
{
return 0;
}
else if (num==2)
{
return 1;
}
for(i=2;i<=sqrt(num);i++)
{
if(num%i==0)
{
return 0;
}
}
return 1;
}
//字符串缩位
#include
#include
#define MAXLEN 200
int main()
{
char str1[MAXLEN];
char str2[MAXLEN]="";
int i=0,j=0;
int n=1;
int len=strlen(str1);
gets(str1);
if(len)
{
while(*(str1+i+1))
{
if(*(str1+i)==*(str1+i+1))
{
++n;
}
else
{ *(str2+j)=*(str1+i);
*(str2+j+1)=(char)(n+'0');
j+=2;
n=1;
}
++i;
}
*(str2+j)=*(str1+i);
*(str2+j+1)=(char)(n+'0');
}
printf("\n%s\n",str2);
return 0;
}
//普通字符串逆序
#include
#include
char* reverse(char *str);
int main()
{
//注意字符串常量和字符串变量是不同的
char *str1=