C语言代码练习(第二十一天)

今日练习:

58、编一个程序,将两个字符串s1和s2比较,若s1 > s2,输出一个正数;若s1 = s2, 输出0,否则输出负数。不要用 strcmp 函数。

59、编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用 strcpy 函数。复制时,"\ O '也要复制过去。'"\ O '后面的字符不复制*/

60、写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。

 编一个程序,将两个字符串s1和s2比较,若s1 > s2,输出一个正数;若s1 = s2, 输出0,否则输出负数。不要用 strcmp 函数。

题解思路

两个字符串用gets函数读入,输出正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII的差值

运行代码

int main()
{
	int i = 0;
	int result = 0;
	char s1[100];
	char s2[100];
	printf("输入字符1:");
	gets(s1);
	printf("\n输入字符2:");
	gets(s2);
	while ((s1[i] == s2[i]) && (s1[i] != '\0'))
	{
		i++;
	}
	if (s1[i] == '\0' && s2[i] == '\0')
	{
		result = 0;
	}
	else
	{
		result = s1[i] - s2[i];
	}
	printf("\n输出结果:%d\n", result);
	return 0;
}

运行结果

编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用 strcpy 函数。复制时,‘\0 '也要复制过去。'\0'后面的字符不复制

运行代码

int main()
{
	char str1[80];
	char str2[80];
	int i = 0;
	printf("输入要复制的字符串:");
	scanf("%s", str2);
	for (i = 0; i <= strlen(str2); i++)
	{
		str1[i] = str2[i];
	}
	printf("复制后的字符串是:%s\n", str1);
	return 0;
}

运行结果

写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。

运行代码

int main()
{
	void copy(char s[], char c[]);
	char str[80];
	char character[80];
	printf("输入字符串:");                                                                                                               
	gets(str);
	copy(str, character);
	printf("元音字母是:%s\n", character);
	return 0;
}
void copy(char s[], char character[])
{
	int i = 0;
	int j = 0;
	for (i = 0, j = 0; s[i] != '\0'; i++)
	{
		//判断是不是元音字母
		if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u' || s[i] == 'A' || s[i] == 'E' || s[i] == 'I' || s[i] == 'O'|| s[i] == 'U')
		{
			character[j] = s[i];
			j++;
		}
		else
		{
			character[j] = '\0';
		}
	}
}

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值