您现在的位置是:首页 >其他 >【C语言】编程练习(二)网站首页其他

【C语言】编程练习(二)

君落华 2024-07-24 12:01:02
简介【C语言】编程练习(二)

多组输入判断输入的是不是字母

image.png

解题思路

  1. 需要多组输入
  2. 判断是否是字母
  3. 使用getchar()函数清空内存中的空格
  4. 根据ASCII码表来判断

代码如下

#include<stdio.h>
int main()
{
	char n = 0;
	//多组输入
	while (scanf("%c",&n)!=EOF)
	{
		//使用getchar()函数清空内存中的空格
		getchar();
		//判断是否是字母
		//根据ASCII码表
		if ((n>='a' && n <= 'z')||(n>='A'&&n<='Z'))
		{
			printf("%c is an alphabet.
", n);
		}
		else
		{
			printf("%c is not an alphabet.
", n);
		}
	}
	return 0;
}

运行结果

image.png

网购

image.png

解题思路

  1. 判断日期是双11还是双12
  2. 双11打7折
  3. 双12打8折
  4. 一行输入4个数 衣服价格 月份 日期 优惠卷
  5. 一张优惠卷减50
  6. 花钱不可能为负数
  7. 保留两位小数

代码如下

#include<stdio.h>

int main()
{
	double price = 0;
	int moth = 0;
	int day = 0;
	int tack = 0;
	double sum = 0;
	scanf("%lf %d %d %d", &price, &moth, &day, &tack);
	//判断日期,并且根据日期计算价格
	if (moth==11&&day==11)
	{
		sum = price * 0.7 - tack * 50;
	}
	else if(moth==12&&day==12)
	{
		sum = price * 0.8 - tack * 50;
	}
	else
	{
		sum = price;
	}
	//如果sum为负数那么就等于0
	if (sum<0)
	{
		sum = 0;
	}
	printf("%.2lf", sum);
	return 0;
}

运行结果

image.png

注意事项

  1. 金额不能为负数,为负数这直接为0;
  2. 输出金额注意是保留两位小数。

乘法口诀表

image.png

解题思路

  1. 手动控制
  2. 使用一个循环打印列数
  3. 嵌套一个循环打印行上的内容
  4. 使用一个函数

代码如下

#include<stdio.h>

void print(int n)
{
	int i = 0;
	//打印列数
	for (i = 1; i <= n; i++)
	{
		int j = 0;
		//打印行中的内容
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%d	", i, j, i * j);
		}
		//打印完一行内容换行
		printf("
");
	}
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	print(n);
	return 0;
}

运行结果

image.png

交换两个整数

写一个函数实现交换两个整数

解题思路

  1. 输入两个整数
  2. 写一个函数交换两个数
  3. 使用指针来交换

代码如下

#include<stdio.h>

void Sawp(int* x, int *y)
{
	int temp = *x;
	*x = *y;
	*y = temp;
}

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	printf("交换前:
a=%d,b=%d
",a,b);
	Sawp(&a, &b);
	printf("交换后:
a=%d,b=%d
", a, b);
	return 0;
}

运行结果

image.png

注意事项

不能通过传值调用函数,要使用传址调用,这样才能改变内存中的数。

函数判断闰年

写一个函数判断是否是闰年

解题思路

  1. 闰年的规则能被4整除不能被100整数,并且可以被400整除。
  2. 使用函数判断是闰年返回1,不是闰年返回0。

代码如下

#include<stdio.h>
int is_year(int year)
{
	if ((year%4==0&&year%100!=0)||year%400==0)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}
int main()
{
	int year = 0;
	scanf("%d", &year);
	is_year(year);
	if (year)
	{
		printf("%d年是闰年
", year);
	}
	else
	{
		printf("%d年不是闰年
", year);
	}
	return 0;
}

运行结果

image.png

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。