8.8 写一个函数,输入一个4位数字, 要求输出这4个数字字符, 但每两个数字间有一个空格。 如输入1990,应输出“1 9 9 0”。

发布时间:2017-2-26 9:11:02编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"8.8 写一个函数,输入一个4位数字, 要求输出这4个数字字符, 但每两个数字间有一个空格。 如输入1990,应输出“1 9 9 0”。",主要涉及到8.8 写一个函数,输入一个4位数字, 要求输出这4个数字字符, 但每两个数字间有一个空格。 如输入1990,应输出“1 9 9 0”。方面的内容,对于8.8 写一个函数,输入一个4位数字, 要求输出这4个数字字符, 但每两个数字间有一个空格。 如输入1990,应输出“1 9 9 0”。感兴趣的同学可以参考一下。

8.8 写一个函数,输入一个4位数字, 要求输出这4个数字字符, 但每两个数字间有一个空格。 如输入1990,应输出“1 9 9 0”。

下边是我写的

/*8.8 写一个函数,输入一个4位数字,
要求输出这4个数字字符,
但每两个数字间有一个空格。
如输入1990,应输出“1 9 9 0”。 */
#include<stdio.h>
void AddBlank(char s[])
{
	char sNew[7];
	int i,j,flag=2;
	for(i=0,j=0;j<7;j++)
	{
		printf("这是第%d次循环,循环前flag=%d。\n",j,flag);
		if(flag%2==0)
		{
				printf("这是第%d次循环,本次循环if(flag)为真。\n");
				sNew[j]=s[i];
				i++;
		}
		else
		{
			printf("这是第%d次循环,本次循环if(flag)为假。\n");
			sNew[j]=' ';			
		}
		flag++;
		printf("这是第%d次循环,循环后flag=%d。\n",j,flag);
		printf("\n");		
	}
	printf("for输出:\n");
	for(i=0;i<7;i++)
	{
		printf("%c",sNew[i]);
	}
	printf("\n");
	printf("puts输出:\n");
	puts(sNew);
	
}
int main()
{
	char s[4];
	printf("请输入4位数字:");
	gets(s);
	puts(s);
	AddBlank(s);
	return 0;
}

结果是这样的:


可以完成空格插入,但是1 2 3 4后有乱码。经过分析后发现,产生故障的原因是:“char sNew[7]的长度为随机”。

书上的:

/*8.8 写一个函数,输入一个4位数字,
要求输出这4个数字字符,
但每两个数字间有一个空格。
如输入1990,应输出“1 9 9 0”。 */
#include<stdio.h>
{
	int i;
	for(i=strlen(str);i>0;i--)
	{
		str[2*i]=str[i];
		str[2*i-1]=' ';
	}
	printf("\nOutput:\n%s",str);
}

main()
{
	char str[80];
	printf("\nInput four digits:");
	scanf("%s",str);
	insert(str);
}
书上的算法看明白了,明天默写。



上一篇:Android Studio, Git, Bitbucket, and SourceTree 使用
下一篇:3D打印技术之切片引擎(7)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款