练习8-8 移动字母(10 分)

本题要求编写函数,将输入字符串的前3个字符移到最后。

函数接口定义:

void Shift( char s[] );

其中char s[]是用户传入的字符串,题目保证其长度不小于3;函数Shift须将按照要求变换后的字符串仍然存在s[]里。

裁判测试程序样例:

#include <stdio.h>
#include <string.h>
 
#define MAXS 10
 
void Shift( char s[] );
 
void GetString( char s[] ); /* 实现细节在此不表 */
 
int main()
{
    char s[MAXS];
 
    GetString(s);
    Shift(s);
    printf("%s\n", s);
	
    return 0; 
}
 

/* 你的代码将被嵌在这里 */
输入样例:

abcdef

输出样例:

defabc

/*
void Shift(char s[])
{
	char s1[3];
	
	for (int i = 0; i < 3; i++)
	{
		s1[i] = s[i];
	}

	for (int i = 3; i <= strlen(s)-1; i++)
	{
		int j = 0;
		s[j] = s[i];
        j++;

	}
	 
	int k = strlen(s)-1;
	for (k = k - 3; k < strlen(s); k++)
	{
		int i = 0;
		s[k] = s1[i];
		i++;

	}



}

*/

void Shift( char s[] )
{
    char a[3];
    int i,j;
    for(i = 0; i < 3;i++)
        a[i] = s[i];
    for(i=3;s[i]; i++)
        s[i-3]=s[i];
    for(j=i-3, i = 0; i < 3;i++)
        s[j++] = a[i];
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为AI助手,我并不具备图形界面的操作能力,但是我可以提供一些vue实现字母笔画练习的思路。 1. 定义字母列表,包括字母和对应的笔画。 2. 使用vue的v-for指令,将字母列表渲染到页面上。 3. 使用HTML5的canvas元素,绘制字母的笔画。 4. 给canvas元素添加鼠标事件,当鼠标在canvas上移动时,根据鼠标轨迹绘制用户的笔画。 5. 比较用户绘制的笔画与字母的笔画是否一致,给出相应的提示。 以下是一个简单的实现代码示例: HTML部: ```html <div id="app"> <div class="letters"> <div v-for="(letter, index) in letters" :key="index" class="letter"> <div>{{ letter.char }}</div> <canvas :id="'canvas' + index" width="100" height="100"></canvas> <div>{{ letter.stroke }}</div> </div> </div> </div> ``` JS部: ```javascript new Vue({ el: '#app', data: { letters: [ { char: 'A', stroke: '横 竖 横 上撇 下撇' }, { char: 'B', stroke: '横 竖 竖 弯钩 横' }, { char: 'C', stroke: '横 下撇 上钩' } ], canvasList: [] }, mounted() { this.initCanvas() }, methods: { initCanvas() { this.canvasList = [] for (let i = 0; i < this.letters.length; i++) { let canvas = document.getElementById('canvas' + i) let ctx = canvas.getContext('2d') ctx.font = '80px Arial' ctx.fillText(this.letters[i].char, 10, 80) this.canvasList.push(canvas) } } } }) ``` 其中,initCanvas方法用于初始化canvas元素,将字母绘制到canvas上,并将canvas元素存储到canvasList数组中。此时,页面上会显示字母和对应的笔画,以及canvas元素,但是还没有实现用户绘制笔画的功能。 接下来,我们需要添加鼠标事件,实现用户绘制笔画的功能。具体实现方法可以参考HTML5 Canvas教程。 最后,我们需要比较用户绘制的笔画与字母的笔画是否一致。比较的方法可以使用一些字库的API,例如汉字笔画查询API,将字母的笔画和用户绘制的笔画传入API中进行比较,得出相似度数,根据数给出相应的提示。 以上是一个简单的实现思路,具体的实现方式和细节可以根据需求和技术水平进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值