用递归求n的k次方
#include<stdio.h>
int fun1(int a,int b){
if(a!=0||a!=1){
if(b==0){
return 1;
}
else if(b==1){
return a;
}
else
return a*fun1(a,b-1);
}
else
return 1;
}
int main(){
int a,b,c;
scanf("%d%d",&a,&b);
c=fun1(a,b);
printf("%d",c);
}
用递归实现strlen
#include<stdio.h>
int fun2(char *arr){
if(*arr =='\0'){
return 0;
}
else
return 1+fun2(arr+1);
}
int main(){
char a[10]="";
scanf("%s",a);
int c=fun2(a);
printf("%d",c);
}
定义一个函数将字符串实现从大到小排序
#include<stdio.h>
#include<string.h>
#define MAX 20
void fun4(char arr[],int n){
char temp;
for(int i=1;i<n;i++){
for(int j=0;j<n-i;j++){
if(arr[j]>arr[j+1]){
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}}
}
}
int main(){
char arr[MAX]="";
scanf("%s",arr);
int k=strlen(arr);
printf("%d",k);
fun4(arr,k);
printf("%s",arr);
}
通过一个函数判断输入字符串是否为回文
#include<stdio.h>
#include<string.h>
int fun4(char arr[],int n){
int k=n/2;
for(int i=0;i<k;i++){
if(arr[i]!=arr[n-1-i]){
return 0;
goto END;
}
}
return 1;
END :
}
int main(){
char arr[10]={};
scanf("%s",arr);
int length=strlen(arr);
int k=fun4(arr,length);
if(k==0){
printf("No");
}
else
printf("Yes");
}