C语言初阶练习5.0

目录

1. 判断整数奇偶性

2. 判断是元音还是辅音

3. 使用指针打印数组的内容

4. 计算求和

5. 打印水仙花数

6. 打印菱形


1. 判断整数奇偶性

#include<stdio.h>
int main()
{
	int n = 0;
	while ((scanf("%d", &n)) != EOF)
	{
		if (n % 2 == 1)
		{
			printf("Oddn");
		}
		else
		{
			printf("Evenn");

		}
			
	}
	return 0;
}

 

2. 判断是元音还是辅音

#include<stdio.h>
int main()
{
	char v[] = { 'a','A','e','E','i','I','o','O','u','U' };
	char ch = 0;
	while ((scanf("%c", &ch))!=EOF)
	{
		int i = 0;
		for (i = 0; i < 10; i++)
		{
			if (ch == v[i])
			{
				printf("Voweln");
				break;
			}
		
		}
		if (i == 10)
		{
			printf("Consonantn");
		}
		getchar();
	}
    return 0;
}

 

3. 使用指针打印数组的内容

#include<stdio.h>
void print_arr(int* p, int sz)
{
	int i = 0;
	for (i = 0; i < sz; i++)
	{
		printf("%d ", *p);
		p++;
		//printf("%d ", *p++); 等价上面
	}
}
int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	print_arr(arr, sz);
	return 0;
}

4. 计算求和

求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
//例如:2 + 22 + 222 + 2222 + 22222

#include<stdio.h>
int main()
{
	int a = 0;
	int n = 0;
	scanf("%d %d", &a, &n);
	int ret = 0;
	int sum = 0;
	int i = 0;
	for (i = 0; i < n; i++)
	{
		ret = ret * 10 + a;
		sum = sum + ret;
	}
	printf("%dn", sum);

	return 0;
}

 

5. 打印水仙花数

//求出0~100000之间的所有“水仙花数”并输出。
//“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,
//如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。

#include<stdio.h>
#include<math.h>
int main()
{
	int i = 0;
	for (i = 0; i <= 100000; i++)
	{
		//判断是否为水仙花数
		int n = 1;
		int sum = 0;
		int tmp = i;
		//判断几次
		while (tmp /=10)
		{
			n++;
		}
		//求和
		 tmp = i;
		while (tmp)
		{
			sum = sum + pow(tmp % 10, n);
			tmp = tmp / 10;
		}
		if (sum == i)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

 

6. 打印菱形

#include<stdio.h>
int main()
{
	int line = 0;
	scanf("%d", &line);
	int i = 0;
	//打印上面
	for (i = 0; i < line; i++)
	{
		//打印空格
		int j = 0;
		for (j = 0; j < line - 1 - i; j++)
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}
		printf("n");
	}
	//打印下面
	for (i = 0; i < line - 1; i++)
	{
		//打印空格
		int j = 0;
		for (j = 0; j <= i; j++)
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
		{
			printf("*");
		}
		printf("n");
	}
	return 0;
}

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>