走入C语言的世界4(条件语句和循环语句的应用)

本文提供了多个C语言编程实例,包括国际象棋棋盘输出、斐波那契数列生成、成绩等级判断、菱形图案绘制、三位数组合及水仙花数查找,适合初学者实践与理解C语言基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例1:要求输出国际象棋棋盘。

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main()
{
	int i, j;
	SetConsoleOutputCP(437);
	for (i = 0; i<8; i++)
	{
		for (j = 0; j<8; j++)
		if ((i + j) % 2 == 0)
			printf("%c",219);
		else
			printf("  ");
		printf("\n");
	}
	system("pause");
	return 0;
}

调试结果:
在这里插入图片描述
例2:打出斐波那契数列

#include<stdio.h>
#include<stdlib.h>
int main()
{
	long int a, b;
	int i, n;
	a = b = 1;
	scanf_s("%d", &n);
	printf("%-12ld%-12ld", a, b);
	for (i = 0; i < n; i++)
	{
		a = a + b;
		b = b + a;
		printf("%-12ld%-12ld", a, b);
	}
	printf("\n");
	system("pause");
	return 0;
}

调试结果:

在这里插入图片描述
例3:利用条件运算符的嵌套来完成此题:给出一百分制成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上的为‘A’,80到89分为‘B’,70到79分为‘D’,60分以下为‘E’。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int score;
	char grade;
	printf("please input a score\n");
	scanf_s("%d", &score);
	grade = score >= 90 ? 'A' : (score >= 80 ? 'B' : (score >= 70 ? 'C' : (score >= 60 ? 'D' : 'E')));
	printf("%d belongs to %c\n", score, grade);
	system("pause");
	return 0;
}

调试结果:
在这里插入图片描述
例4:打出一个菱形

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i, j, k, n;
	scanf_s("%d", &n);
	for (i = 1; i < n+1; i++)
	{
		for (j = 1; j < n +1- i; j++)
			printf(" ");
		for (k = 0; k < 2 * i - 1; k++)
			printf("*");
		printf("\n");
	}
	for (i = n - 1; i>0; i--)
	{
		for (j = n ; j>i; j--)
			printf(" ");
		for (k = 1; k <= 2 * i - 1; k++)
			printf("*");
		printf("\n");
	}
	system("pause");
	return 0;
}

调试结果:
在这里插入图片描述
例5:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i, j, k;
	for (i = 1; i < 5; i++)
	{
		for (j = 1; j < 5; j++)
		{
			for (k = 1; k < 5; k++)
			{
				if (i != j&&i != k&&j != k)
					printf("%d%d%d\t", i, j, k);
			}
		}
	}
	system("pause");
	return 0;
}

调试结果:
在这里插入图片描述
例6:打印出所有的“水仙花数”

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i, j, k, n;
	for (n = 100; n < 1000; n++)
	{
		i = n / 100;
		j = n % 100 / 10;
		k = n % 10;
		if (i*i*i + j*j*j + k*k*k == n)
			printf("%d\t", n);
	}
	system("pause");
	return 0;
}

调试结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值