C language printing triangle (diamond), string reverse order, daffodil number


foreword

This article is a simple exercise in C language


1. Print a triangle

Input the number of lines, and print out the triangle code corresponding to the number of lines on the screen
:

#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("\n");
	}
}
int main()
{
    
    
	int a = 0;
	printf("请输入一个整数:\n");
	scanf_s("%d", &a);
	print(a);
	return 0;
}

operation result:
insert image description here


2. Print a rhombus

code:

#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("\n");
	}

	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("\n");
	}
}
int main()
{
    
    
	int a = 0;
	printf("请输入一个整数:\n");
	scanf_s("%d", &a);
	print(a);
	return 0;
}

operation result:

insert image description here


3. String reverse order

the code

#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;

}

operation result
insert image description here


4. Print the number of daffodils

Calculate and output all "daffodil numbers" between 0 and 100,000.
the code

#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;
}

run screenshot

insert image description here


Summarize

The above is the whole content of this article

Guess you like

Origin blog.csdn.net/m0_53689542/article/details/120942329