C语言进阶——格式输入输出,printf函数进阶用法,视野扩展心算训练,闪烁显示字符串

17 篇文章 1 订阅

printf函数是我们常用的输出函数
例如:printf("%*d\n", i, i % 10);//%d中表示位数printf("%*d",位数,值)
代码演示:

#include<stdio.h>

//数字字符每次偏移一位显示1
//使用双循环
void showline1()
{
	int n;
	printf("请输入你要显示的行数:");
	scanf_s("%d", &n);
	for (int i = 1; i <= n; i++)//外循环控制列数
	{
		for (int j = 1; j < i; j++)//内循环控制行数
		{
			putchar(' ');
		}
		printf("%d\n", i % 10);//只显示1~10内的数值
	}
}

//数字字符每次偏移一位显示1
//使用单循环
void showline2()
{
	int n;
	printf("请输入你要显示的行数:");
	scanf_s("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		printf("%*d\n", i, i % 10);//%*d中*表示位数printf("%*d",位数,值)
	}
}


int main()
{
	showline1();
	showline2();
	return 0;
}

程序展示:
在这里插入图片描述
心算训练:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main() 
{
	int stage;
	int n1, n2, n3;//需要计算的数值
	int sum;
	int blank;//空白的宽度
	int truenum = 0;//题目正确个数
	clock_t start, end;
	srand(time(NULL));//设定随机种子
	printf("扩大视野心算训练开始!\n");
	start = clock();
	for (stage = 0; stage < 10; stage++)
	{
		n1 = 1 + rand() % 10;//生成1~10的随机数
		n2 = 1 + rand() % 10;
		n3 = 1 + rand() % 10;
		blank = rand() % 10;
		printf("%d%*s+%*s%d%*s+%*s%d%*s = ", n1, blank, " ",blank," ", n2, blank, " ", blank, " ",n3, blank, " ");
		do
		{
			scanf_s("%d", &sum);
			if (sum == n1 + n2 + n3)
			{
				printf("回答正确\n");
				truenum++;
				break;
			}
			else
			{
				printf("回答错误\n");
				break;
			}
		} while (1);
	}
	end = clock();
	printf("用时:%f秒\n", (double)(end - start) / CLOCKS_PER_SEC);
	printf("你一共答对:%d题", truenum);
	return 0;
}

程序展示:
在这里插入图片描述
闪烁显示字符串:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

//延时函数
int sleep(unsigned long x)
{
	clock_t start = clock();
	clock_t end;
	do
	{
		if ((end = clock()) == (clock_t)-1)
		{
			return;
		}
	} while (1000 * (end - start) / CLOCKS_PER_SEC < x);
}

int main()
{
	char strline[] = "I LOVE C";
	while (1)
	{
		printf("%s", strline);
		sleep(500);
		printf("\r%*s\b\r", strlen(strline), " ");
		sleep(500);
	}
	return 0;
}

程序展示:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值