栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言实例(八)翻转字符串

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言实例(八)翻转字符串

C语言实例(57~61)
    • 57.使用递归来翻转字符串
      • (1)代码
      • (2)运行结果
    • 58.使用引用循环替换数值
      • (1)代码
      • (2)运行结果
    • 59.删除字符串中的除字母外的特殊字符。
      • (1)代码
      • (2)运行结果
    • 60.通过用户输入指定的数值,来判断最大值。
      • (1)代码
      • (2)运行结果
    • 61.通过用户输入指定的数值,来判断最小值。
      • (1)代码
      • (2)运行结果
    • 二级标题
      • (1)代码
      • (2)运行结果
    • 二级标题
      • (1)代码
      • (2)运行结果

57.使用递归来翻转字符串 (1)代码
#if 1
#include  
#include 
//声明
void reverseSentence(); 

void reverseSentence() 
{ 
	char c; 
	scanf("%c", &c); 
	//字符串的结束标志为'n'
	if( c != 'n') 
	{ 
		reverseSentence();
		printf("%c",c); 
	} 
}

int main() 
{ 
	printf("输入一个字符串: "); 
	reverseSentence(); 
	system("pause");
	return 0; 
}
#endif
(2)运行结果

58.使用引用循环替换数值

a、b、c 三个变量,通过引用按顺序循环替换他们的值。

(1)代码
#if 1
#include
#include 
//声明
void cyclicSwap(int *a,int *b,int *c);
//定义
void cyclicSwap(int *a,int *b,int *c)
{
	int temp;
 
    // 交换 b-temp;a-b;c-a;temp-c(逆时针转)
	temp = *b;
    *b = *a;
    *a = *c;
    *c = temp;
}
int main()
{
	int a, b, c;
 
    printf("输入 a, b 和 c 的值: ");
    scanf("%d %d %d",&a,&b,&c);
 
    printf("交换前:n");
    printf("a = %d nb = %d nc = %dn",a,b,c);
 
    cyclicSwap(&a, &b, &c);
 
    printf("交换后:n");
    printf("a = %d nb = %d nc = %d",a, b, c);
	system("pause");
    return 0;
}
#endif
(2)运行结果

59.删除字符串中的除字母外的特殊字符。 (1)代码
#if 1
#include
#include 
int main()
{
	char line[150];
	int i, j;
	printf("输入一个字符串: ");
	fgets(line, (sizeof line / sizeof line[0]), stdin);
	//遍历数组
	for(i = 0; line[i] != ''; ++i)
	{
		while (!( (line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z') || line[i] == '') )
		{
			for(j = i; line[j] != ''; ++j)
			{
				//依次将数据赋值
				line[j] = line[j+1];
			}
			line[j] = '';
		}
	}
	printf("输出: ");
	puts(line);
	system("pause");
	return 0;
}
#endif
(2)运行结果

60.通过用户输入指定的数值,来判断最大值。 (1)代码
#if 1
#include 
#include 
#include 
int main()
{
	int i, num;
	float *data;
 
	printf("输入元素个数(1 ~ 100): ");
	scanf("%d", &num);

	// 为 'num' 元素分配内存
	data = (float*) calloc(num, sizeof(float));
 
	if(data == NULL)
	{
		printf("Error!!! 内存没有分配。");
		exit(0);
	}
	printf("n");
 
	// 用户输入
	for(i = 0; i < num; ++i)
	{
		printf("输入数字 %d: ", i + 1);
		scanf("%f", data + i);
	}
	// 循环找出最大值
	for(i = 1; i < num; ++i)
	{
		if(*data < *(data + i))
			*data = *(data + i);
	}
	printf("最大元素 = %.2fn", *data);
	system("pause");
	return 0;
}
#endif

(2)运行结果

61.通过用户输入指定的数值,来判断最小值。 (1)代码
#if 1
#include 
#include 
#include 
int main()
{
	int i, num;
	float *data;
 
	printf("输入元素个数(1 ~ 100): ");
	scanf("%d", &num);

	// 为 'num' 元素分配内存
	//分配num个长度为sizeof(float)的连续空间
	//函数返回一个指向分配起始地址的指针。
	//calloc函数会自动将内存初始化为0
	data = (float*) calloc(num, sizeof(float));
 
	if(data == NULL)
	{
		printf("Error!!! 内存没有分配。");
		exit(0);
	}
	printf("n");
 
	//用户输入num个数据
	for(i = 0; i < num; ++i)
	{
		//屏幕上显示输出第几个数,总共num个数
		printf("输入数字 %d: ", i + 1);
		//输入数据
		scanf("%f", data + i);
	}
	// 循环找出最大值
	for(i = 1; i < num; ++i)
	{
		if(*data > *(data + i))
			*data = *(data + i);
	}
	printf("最小元素 = %.2fn", *data);
	system("pause");
	return 0;
}
#endif
(2)运行结果

二级标题 (1)代码 (2)运行结果 二级标题 (1)代码 (2)运行结果
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号