C语言打印三角形(菱形)、字符串逆序、水仙花数


前言

本文为C语言的简单习题


一、打印三角形

输入行数,在屏幕上打印出对应行数的三角形 代码:

#include<stdio.h>
void print(int n)
{
          
   
	for (int i = 1; i <= n; i++)
	{
          
   
		for (int k = 1; k <= n - i; k++)
		{
          
   
			printf(" ");
		}

		for (int j = 1; j <= 2 * i - 1; j++)
		{
          
   

			printf("*");
		}
		printf("
");
	}
}
int main()
{
          
   
	int a = 0;
	printf("请输入一个整数:
");
	scanf_s("%d", &a);
	print(a);
	return 0;
}

运行结果:


二、打印菱形

代码:

#include<stdio.h>
void print(int n)
{
          
   
	for (int i = 1; i <= n; i++)
	{
          
   
		for (int k = 1; k <= n - i; k++)
		{
          
   
			printf(" ");
		}

		for (int j = 1; j <= 2 * i - 1; j++)
		{
          
   

			printf("*");
		}
		printf("
");
	}

	for (int i = n-1; i >= 1; i--)
	{
          
   
		for (int k = 0; k <= n-1 - i; k++)
		{
          
   
			printf(" ");
		}
		for (int j = 1; j <= 2 * i - 1; j++)
		{
          
   
			printf("*");
		}
		printf("
");
	}
}
int main()
{
          
   
	int a = 0;
	printf("请输入一个整数:
");
	scanf_s("%d", &a);
	print(a);
	return 0;
}

运行结果:


三、字符串逆序

代码

#include<stdio.h>
void nixu(char*a,int sz)
{
          
   
	int left = 0;
	int right = sz - 1;
	while (left<right)
	{
          
   
		int tmp = *(a+right);
		*(a + right) = *(a + left);
		*(a + left) = tmp;
		left++;
		right--;
	}
}
int main()
{
          
   

	char arr[] = "ndscsnljrginv";
	int sz = sizeof(arr) / sizeof(arr[0]);
	nixu(arr,sz);
	for (int i = 0; i < sz; ++i)
	{
          
   
		printf("%c", arr[i]);
	}
	return 0;

}

运行结果


四、打印水仙花数

求出0~100000之间的所有“水仙花数”并输出。 代码

#include<stdio.h>
#include<math.h>
int main()
{
          
   
	
	for (int i = 0; i <100000; ++i)
	{
          
   
		int tmp = i;
		int count = 1;
		int sum = 0;
		while (tmp / 10)
		{
          
   
			count++;
			tmp = tmp / 10;
		}
		tmp = i;
		while (tmp)
		{
          
   
			sum += pow(tmp % 10, count);
			tmp = tmp / 10;
		}
		if (sum == i)
		{
          
   
			printf("%d ", i);
		}
		
	}
	
	return 0;
}

总结

以上就是本文的全部内容

经验分享 程序员 微信小程序 职场和发展