1、
#include <stdio.h>
#include <string.h>
int jie(int n,int k) //定义一个函数来运算n的k次方
{
if((n==0&&k==0)||(n==0&&k==1))
{
return 0;
}
else if (k==0)
{
return 1;
}
else
{
return n* jie(n,k-1);
}
}
int main(int argc,const char * argv[])
{
int n = 0;
int k = 0;
printf("请输入n和k: ");
scanf("%d %d",&n,&k); //给n和k赋值
int num = jie(n,k); //调用函数
printf("n的k次方的结果是: %d\n",num);
return 0;
}
2、
#include <stdio.h>
#include <string.h>
int c(char *str) //定义一个递归函数来运算字符串长度
{
if(*str=='\0')
{
return 0;
}
else
{
return 1+c(str+1);
}
}
int main(int argc,const char * argv[])
{
char arr[10]={""};
printf("请输入字符串: ");
gets(arr); //给字符串赋值
int num=c(arr);
printf("%d\n",num);
return 0;
}
4、
#include <stdio.h>
#include <string.h>
void do_sort(char arr[20])
{
//定义交换变量
char temp_arr = 0;
//排序
for(int i=1; i<20; i++)
{
for(int j=0; j<20-i; j++)
{
if(arr[j]-arr[j+1] < 0)
{
temp_arr = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp_arr;
}
}
}
printf("排序成功\n");
}
int main(int argc,const char * argv[])
{
char arr [20] = {""};
printf("请输入字符串: ");
gets(arr);
do_sort(arr);
printf("%s\n",arr);
return 0;
}
6、
#include <stdio.h>
#include <string.h>
int main(int argc,const char *argv[])
{
int a = 0x87654321;
char *p =(char*) &a;
if(*p == 0x21)
{
printf("小端存储\n");
}
else
{
printf("大端存储\n");
}
return 0;
}
7、
#include <stdio.h>
#define MAX 120
//定义一个函数统计单词数量
void s_(char *str)
{
int count=0; //定义计数变量
while(1)
{
if((*str>='A'&&*str<='Z')||(*str>='a'&&*str<='z')) //遇见字母指针偏移+1
{
*str++;
}
else if(*str==32) //遇见空格计数+1
{
*str++;
count++;
}
else //遇见标点符号计数,再偏移判断
{
count++;
*str++;
if(*str==32)
{
*str++;
}
else if(*str=='\0')
{
break;
}
else
{
*str++;
}
}
}
printf("%d\n",count);
}
int main(int argc, const char *argv[])
{
char text[MAX]="";
printf("请输入一段英文文本:");
gets(text);
s_(text);
return 0;
}