zl程序教程

您现在的位置是:首页 >  Java

当前栏目

【C语言】题集 of ④

2023-02-18 15:50:08 时间

?write in front?

?大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流? ?2021年度博客之星物联网与嵌入式开发TOP5,2021博客之星Top100→周榜31→总榜2629? ?本文由 謓泽 原创 CSDN首发? 如需转载还请通知 ?个人主页:打打酱油desu_泽En_CSDN博客? ?欢迎各位→点赞? + 收藏⭐️ + 留言?​ ?系列专栏:【C】系列_打打酱油desu-CSDN博客? ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本? 

目录

?write in front?

?第十六题→用数组求10位同学的平均数?

?第十七题→用户输入三次密码,当成功的话就打印出"电脑运行成功",三次之内输入错误的话,重新进行输入密码,如果输入三次还是错误的话,程序就直接退出打印?

?第十八题→输入一个数字,打印直角三角形?

?第十九题→创建一个函数实现,输入两个数,对应:加法,减法,除法,乘法的功能,并且能够全部打印,取两位小数?

?第二十题→输入的大写字符转换成小写字符,小写字符转换大写字符?

?第十六题→代码? 

?第十七题→代码? 

?第十八题→代码? 

?第十九题→代码? 

?第二十题→代码? 

?第十六题→用数组求10位同学的平均数?

这道题目已经给了我们些信息了。首先是要拥有数组初始化元素是10,求十位同学,这个实际上循环十次就可以解决了。平均数最后总的数加起来z'z除以10即可。最终进行打印求出每位同学的平均数。就是这么的容易。对于新手来说多思考下就可以了,实在搞不明白多去调试代码,调试是你最好的"老师"。

?第十七题→用户输入三次密码,当成功的话就打印出"电脑运行成功",三次之内输入错误的话,重新进行输入密码,如果输入三次还是错误的话,程序就直接退出打印?

首先用户输入三次密码:循环 + 输入 解决。 成功打印打印出”电脑运行成功“,这个可以用比较函数 strcmp() 完成。在判断条件表达式当中,当我们打印成功的时候,可以使用 break 跳出循环! strcmp()函数讲解↓ C 库函数 int strcmp(const char *str1, const char *str2)str1 所指向的字符串和 str2 所指向的字符串进行比较。 下面是 strcmp() 函数的声明。 int strcmp(const char *str1, const char *str2)

  • str1 -- 要进行比较的第一个字符串。
  • str2 -- 要进行比较的第二个字符串。

该函数返回值如下:

  • 如果返回值小于 0,则表示 str1 小于 str2。
  • 如果返回值大于 0,则表示 str1 大于 str2。
  • 如果返回值等于 0,则表示 str1 等于 str2。

三次之内输入错误的话,重新进行输入密码。这个根据用户输入三次密码一起完成。 如果输入三次还是错误的话,程序就直接退出打印。直接使用 if 的判断语句 == 3。

?第十八题→输入一个数字,打印直角三角形?

遇到这种逻辑思维比较强的题目不要慌,有一种方法可以有效的解决此类问题。那就是代入法,一般遇到这种可以采取代入法对于不怎么会或者是新手来说。 假设我们所输入的数字是⑤,结果如下。

*
**
***
****
*****

那么遇到上面的代码我们可以进行分析。首先,我们需要知道行列,在这里行有五行列最多也有五行,为什么说是最多呢,你看第一行打印一颗*,依次类推每次多一行就多打印一颗星。所以这是本题求解的关键。如果你知道这个了那么本道题目你也就会求解了。对于这种题目行列用循环嵌套即可做出。我们尤其是要注意第二个循环的判断语句,因为这个才是求解本题的关键。你这个判断不多那么你永远不可能可以打印出它的列的*号递增的一个效果出来,或许只能把行行按照它的这个标准来打印出来。这种题目就一定要多去练习,只有不断的去练习你才能掌握这种题目的做题方法。

?第十九题→创建一个函数实现,输入两个数,对应:加法,减法,除法,乘法的功能,并且能够全部打印,取两位小数?

对于这种题目是很容易,是可以通过我们分析做出来的。分析如下↓ 首先是我们需要创建一共函数,其次函数要实现加法(+)、减法(-)、乘法(*)、除法(/)、四种基本的运算操作,然后进行打印,这里的打印指的是全部打印出来结果。最后,还需要取两位小数点。那么以上就是这道题目的重点了。都是特别容易取实现的,输入两个数字无非就是创建两个变量,在用scanf()函数进行取地址操作,其实输入然后把输入的值给到实参,实参的值传递道形参当中去,最终用printf()来进行打印四种运算的操作符,无需返回值。那么本题就完美的实现了。

?第二十题→输入的大写字符转换成小写字符,小写字符转换大写字符?

这道题目有两个重点的概念如下↓ ①:大写字母转换成小写字母。 ②:小写字母转换成大写字母。 注意:是要我们输入的大写字母或者是小写字母最终回车,实现上面所概述的功能。 在做这道题目的时候,你必要掌握ASCll码的概念。那么你才能做这道题目,那么我在这里说下AZ的ASCll码和az的ASCll码分别是多少。 ASCLL码 65值=='A' 97值=='a',标准范围是:0~127,字母一共有26个自己推算下。 既然掌握了上面的这些知识点,那么相信你应该就可以从上面这些知识点进行入手了,从而来解决这道题目。

?第十六题→代码?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

#define NUM 10	//定义常量NUM

int main(void)
{
	int i;
	double sum = 0.0;
	double s[NUM] = { 0 };

	for (i = 0; i < 10; i++)
	{
		printf("请输入第%-2d同学的成绩:", i + 1);
		scanf("%lf", &s[i]);
		sum += s[i]; /* sum = sum + s[i] */
	}
	printf("sum = %.lf\n", sum);
	printf("学生的平均成绩是:%.2f\n", sum / NUM);	//记住要强制转换类型

	return 0;
}

运行结果? 请输入第1 个同学的成绩:99.1 请输入第2 个同学的成绩:99.2 请输入第3 个同学的成绩:99.3 请输入第4 个同学的成绩:99.4 请输入第5 个同学的成绩:99.5 请输入第6 个同学的成绩:99.6 请输入第7 个同学的成绩:99.7 请输入第8 个同学的成绩:99.8 请输入第9 个同学的成绩:99.9 请输入第10个同学的成绩:100 sum = 996 学生的平均成绩是:99.55

?第十七题→代码?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>

int main(void)
{
	int i = 0;
	char password[20] = { 0 };
	for (i = 0; i < 3; i++)
	{
		printf("player input password desu:");
		scanf("%s", password);
		if (strcmp(password, "C") == 0)
		{
			printf("player games!\n");
			break;
		}
		else
		{
			printf("第%d次Your input の password error!\n",i+1);
		}
	}
	if (i == 3)
	{
		printf("password error! and program exit!\n");
	}
	return 0;
}

运行结果? 输入正确的情况下! 请输入密码:C 电脑运行成功! 三次输入错误的情况下! 请输入密码:123 请输入密码:C++ 请输入密码:0000 密码输入失败 && 退出程序。

?第十八题→代码?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main(void)
{
	int i = 0;
	int j = 0;
	int input = 0;
	printf("请输入数字:");
	scanf("%d", &input);
	for (i = 0; i < input; i++)
	{
		for (j = 0; j <= i; j++)
		{
			printf("*");
		}
		printf("\n");//换行
	}
	return 0;
}

运行结果? 请输入数字:5 * ** *** **** *****

?第十九题→代码?

#pragma warning(disable:6031)
#pragma message("第十八题→输入一个数字,打印直角三角形")
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void arithmetic(double* x, double* y)
{
	printf("number1 = %.2lf\n", *x + *y);
	printf("number2 = %.2lf\n", *x - *y);
	printf("number3 = %.2lf\n", *x * *y);
	printf("number4 = %.2lf\n", *x / *y);
}
int main(void)
{
	double num1 = 0;
	double num2 = 0;
	printf("请输入两个数字:");
	scanf("%lf %lf", &num1, &num2);
	arithmetic(&num1, &num2);

	return 0;
}

运行结果? 请输入两个数字:2  2 .5 number1 = 4.50 number2 = 0.50  number3 = 5.00  number4 = 0.80

?第二十题→代码?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
	char c = 0;
	while (scanf("%c", &c) != EOF)
	{
		if (c >= 'a'&& c <= 'z')
			c = c - 32;//得到的就是大写
		else if (c >= 'A'&& c <= 'Z')
			c = c + 32;//得到的就是小写
		printf("%c", c);
	}
	return 0;
}

运行结果? QWEert qweERT