首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-07-31 
编写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字字符间空一个空格。如输入1990,应输出“1

编写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字字符间空一个空格。如输入1990,应输出“1 9 9 0”。
#include<stdio.h>
#include<string.h>
void main()
{
  char str[80];
  void insert(char str[]);
  printf("input four digits: ");
  gets(str);
  insert(str);
}
void insert(char str[])
{
int i;
for(i=strlen(str);i>0;i--)
{
str[2*i]=str[i];
str[2*i-1]=' ';
}
printf("output:\n%s\n",str);
}
请问大牛,str[2*i]=str[i];str[2*i-1]=' ';这里2*i是什么意思?有什么用吗?



[解决办法]
1990
位置0123
1 9 9 0
位置0 2 4 6
[解决办法]
int i;
for(i=strlen(str);i>0;i--)
{
str[2*i]=str[i]; //下标0123->0246
str[2*i-1]=' '; //下标1357的就为' '
}
[解决办法]

探讨

int i;
for(i=strlen(str);i>0;i--)
{
str[2*i]=str[i]; //下标0123->0246
str[2*i-1]=' '; //下标1357的就为' '
}

[解决办法]
C/C++ code
//编写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字字符间空一个空格。//如输入1990,应输出“1 9 9 0”。#include <stdio.h>#include <ctype.h>void fun() {    char d[5];    int i;    while (1) {        printf("\n请输入一个4位数字:");        fflush(stdout);        rewind(stdin);        fgets(d,5,stdin);        if (isdigit(d[0])         && isdigit(d[1])         && isdigit(d[2])         && isdigit(d[3]))            break;    }    for (i=0;i<4;i++) printf("%c ",d[i]);    printf("\n");}int main() {    fun();    return 0;} 

热点排行