日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言中循環嵌套的應用方式_C 語言

作者:慕白昂 ? 更新時間: 2023-04-07 編程語言

循環嵌套的應用

循環嵌套可以使復雜的問題結構化,把一個功能的實現拆分成一個一個更小的功能,然后再實現,在此實現的過程中必須要注意結構上的邏輯性和該邏輯的正確性,要保證每一個小的功能能夠完全正確,最終實現一個完整的循環。

1.求Sn=a+aa+aaa+aaaa+aaaaa的前5項之和,其中a是一個數字(例如:2+22+222+2222+22222)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<windows.h>
int main()
{
	int a = 0;//數字
	int n = 0;//幾個這類數相加
	int sum = 0;//求和的結果
	int ret = 0;//儲存計算好的每一項
	int i = 0;
	printf("請輸入s和n:");
	scanf("%d %d", &a, &n);
	for (i = 0; i < n; i++)
	{
		ret = ret * 10 + a;
		sum += ret;
	}
	printf("sum=%d\n", sum);
	system("pause");
	return 0;
}

2.求出0~100000之間的所有“水仙花數”并輸出。(“水仙花數”是指一個n位數,其各位數字的n次方之和確好等于該數本身,如:153=13+53+3^3,則153是一個“水仙花數”。)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<math.h>
#include<windows.h>
int main()
{
	int i = 0;
	for (i = 0; i < 100000; i++)
	{	
		//判斷是否為水仙花數
		/*1.儲存該數的位數*/
		int sum = 0;
		int count = 1;
		int tmp = i;
		while (tmp /=10)
		{
			count++;
		}
		/*2.得到i的每一位,求出它的每一位次方數之和*/
		tmp = i;
		while (tmp)
		{
			sum += pow(tmp % 10, count);
			tmp/=10;
		}
		/*判斷*/
		if (sum == i)
		{
			printf("%d\t", i);
		}
	
	}
	system("pause");
	return 0;
}

3.用C語言在屏幕上輸出以下圖案:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<math.h>
#include<windows.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");
	}

	system("pause");
	return 0;
}

循環嵌套輸出圖形問題

輸出 ? ? ??

? ? ? ? *
? ? ? ***
? ? *****
? *******
*********

#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=5;i++){
?? ?for(j=1;j<=2*5-2*i;j++)
?? ? ? ?printf(" ");?
?? ?for(j=1;j<=i*2-1;j++)
?? ??? ?printf("*");
printf("\n");
}
return 0;
}

輸出

? ? *
? ?***
? *****
?*******
*********

#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=5;i++){
?? ?for(j=1;j<=5-i;j++)
?? ?printf(" ");?
?? ?for(j=1;j<=i*2-1;j++)
?? ??? ?printf("*");?
? ? ? ? printf("\n");
}
return 0;
}

輸出

? ? *
? ?***
? *****
? ?***
? ? *

#include<stdio.h>
#include<math.h>
int main()
{
?? ?int i,j;
?? ?for(i=1;i<=5;i++){
?? ??? ?for(j=1;j<=abs(3-i);j++)
?? ??? ??? ?printf(" ");
?? ??? ?for(j=1;j<=(2*(3-abs(3-i))-1);j++)
?? ??? ??? ?printf("*");
?? ??? ?printf("\n");
?? ?}
?? ?return 0;
}

圖形問題模板:

#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=行數;i++){
? ? for(j=1;j<=第i行空格數(找規律);j++)
? ? printf(" ");?
? ? for(j=1;j<=第i行圖形數(找規律);j++)
? ? ? ? printf("圖形");?
printf("\n");
}
return 0;
}

附帶一個99乘法表

1*1=1
1*2=2 ? 2*2=4
1*3=3 ? 2*3=6 ? 3*3=9
1*4=4 ? 2*4=8 ? 3*4=12 ?4*4=16
1*5=5 ? 2*5=10 ?3*5=15 ?4*5=20 ?5*5=25
1*6=6 ? 2*6=12 ?3*6=18 ?4*6=24 ?5*6=30 ?6*6=36
1*7=7 ? 2*7=14 ?3*7=21 ?4*7=28 ?5*7=35 ?6*7=42 ?7*7=49
1*8=8 ? 2*8=16 ?3*8=24 ?4*8=32 ?5*8=40 ?6*8=48 ?7*8=56 ?8*8=64
1*9=9 ? 2*9=18 ?3*9=27 ?4*9=36 ?5*9=45 ?6*9=54 ?7*9=63 ?8*9=72 ?9*9=81

#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=9;i++){
?? ?for(j=1;j<=i;j++)
?? ? ? ?printf("%d*%d=%d\t",j,i,j*i);?
printf("\n");
}
return 0;
}

總結

原文鏈接:https://blog.csdn.net/qq_42613519/article/details/105309082

欄目分類
最近更新