Wayne


私信TA

用户名:Wayne

访问量:34388

签 名:

等  级
排  名 874
经  验 3572
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 郑州大学
专  业

  自我简介:

解题思路:

在for循环中用getchar()接收输入的数字字符,并将其ASCII码赋值给temp(temp的数据类型为int),temp==10时(换行“\n”的ASCII码是10)判断输入结束跳出循环,未输入换行前则用count++统计位数,并将temp减48(字符0的ASCII码是48)后赋值给数组储存。
注意事项:

字符0的ASCII码是48,换行“\n”的ASCII码是10,输出第二行时最后一个数特殊处理。

参考代码:

#include <stdio.h>
int main()
{
    int i,count=0,x[5];             //count统计位数,x[5]储存数字
    for (i=0;i<5;i++)
    {
        int temp=0;
        temp=getchar();             //temp临时储存数字字符的ASCII码
        if (temp==10) break;      //输入换行\n后跳出for循环
        count++;
        x[i]=temp-48;               //字符0的ASCII码是48
    }
    printf("%d\n",count);
    for (i=0;i<=count-2;i++) printf("%d ",x[i]);
    printf("%d\n",x[i]);
    for (i=count-1;i>=0;i--) printf("%d",x[i]);
    return 0;
}


 

0.0分

235 人评分

  评论区

我也一定会写出 ,这样让人 ,恍然大悟的代码
2019-09-27 14:17:54
#include "stdio.h"
int main()
{
	int a[5],c;
	int i=0,count=0;
	while((c=getchar())!='\n')
	{	
		a[i]=c-48;
		count++;
		i++;
		
	}
	printf("%d\n",count);

	for(int j=0;j<i;j++)
	{
		if(j!=i-1)
		   printf("%d ",a[j]);
		else
			printf("%d\n",a[j]);
	}
	for(int j=4;j>=0;j--)
	{
		printf("%d",a[j]);
	}
	return 0;

}
大佬们这个哪里有问题啊,说我运行错误50%
2019-09-07 11:09:45
我有一个疑问,如果将getchar换成getch,为啥跳不出循环,必须输满五个数才能跳出,求解~
2019-08-09 23:21:22
#include<stdio.h>
int main()
{
    int a,t,i,j,c,m;
	scanf("%d",&t);
	c=t;
	if(t>=10000)j=5;
	else if(t>=1000)j=4;      /*学艺不精只能用死办法*/
	else if(t>=100)j=3;
	else if(t>=10)j=2;
	else j=1;
	m=j;
	printf("%d\n",j);
	for(i=10000;i>=1;i/=10)
	{
		if(a=t/i)
		{
			printf("%d",a);
			if(j)
			{
				printf(" ");
				j--;
			}
		}
		t=t%i; 
	}
	printf("\n");
	for(i=1;i<=m;i++)
	{
		a=c%10;
		printf("%d",a);
		c=c/10;
		if(c==0)break;
	}
}
2019-07-18 11:53:48
#include<stdio.h>
int main(int argc,const char *argv[])
{
	int x;
	scanf("%d",&x);
	int cnt=0;
	int y,mask=1;
	y=x;
	int d[5];
	while(y>0){
		d[cnt]=y%10;
		y/=10;
		cnt++;
		mask*=10;
	}
	mask/=10;
	printf("%d\n",cnt);
	int b;
	do{
		b=x/mask;
		printf("%d",b);
		if(mask>9){
			printf(" ");
		}
		x%=mask;
		mask/=10;
	}while(mask>0);
	printf("\n");
	int i;
	for(i=0;i<cnt;i++)printf("%d",d[i]);
	printf("\n");
	return 0;
}
2019-07-15 10:41:23
#include <stdio.h>

int main() {
    char a[6];
    int len;
    fgets(a,sizeof(a), stdin);
    len = 0;
    for (int i = 0; i <= 5; i++) {
        if (a[i] == '\0') len = i;
    }
    printf("%d\n", len);
    for (int i = 0; i < len; i++)  printf("%c ", a[i]);
    printf("\n");
    for (int i = len - 1; i >= 0; i--) printf("%c", a[i]);
    return 0;
}
2019-06-27 10:36:46
#include<stdio.h>
int main()
{
  int x,y=0,a[5];
  
  scanf("%d",&x);
  
  while(x!=0){
      a[y]=x%10;
      x=x/10;
      y++;
  }
  
  printf("%d\n",y);
  
  printf("%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]);
  
  printf("%d%d%d%d%d\n",a[4],a[3],a[2],a[1],a[0]);
  
  
  return 0;
}
2019-06-12 22:59:31
#include <stdio.h>
int main (void)
{
    int x=0;
    scanf("%d",&x);   
    while(x>100000)
    {
        scanf("%d",&x); 
    }
        int i=1,b=x,c=x;
        int m,n=1;
        while(b>1)
        {
            b/=10;
            i++;
            n*=10;
         }
        printf("%d\n",i);
        while(c>1)
        {   
            printf("%d ",c/n); 
            c%=n;
            n/=10;
         }    
       printf("\n");
        while(i>0)
        {
            i--;
            printf("%d",x%10);
            x/=10;  
         }
        
    return 0;
}
2019-05-30 23:27:18