Wayne


私信TA

用户名:Wayne

访问量:34390

签 名:

等  级
排  名 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 人评分

  评论区

#include<stdio.h>

int main()
{
    int i,num,x[5],a;
    i=0;
    a=0;
    scanf("%d",&num);
    
    while(num>0)
    {
        x[i]=num%10;
        num=num/10;
        i++;
        a=i;
    }
    printf("%d\n",i);
    
    while(i<0)
    {
        printf("%d ",x[i]);
        i--;
    }
    printf("\n");
    
    while(a>i)
    {
        printf("%d",x[i]);
        i++;
    }
    
    return 0;
}

这么写问题在哪?求大神解释
2019-03-09 10:44:53
#include <stdio.h>

int main()
{
	int num,count,sum;
	scanf("%d",&num);
	sum = num;
	while(num!=0)
	{
		num/=10;
		count++;
	}
	if(sum==0)
	{
		printf("1\n");
		printf("%d\n",sum);
		printf("%d\n",sum);
	}
	else
	{
		switch(count)
		{
			case 1:
				printf("1\n");
				printf("%d\n",sum);
				printf("%d\n",sum);
				break;
			case 2:
				printf("2\n");
				int a1,a2;
				a1 = sum/10;
				a2 = sum%10;
				printf("%d %d\n",a1,a2);
				printf("%d%d\n",a2,a1);
				break;
			case 3:
				printf("3\n");
				int b1,b2,b3;
				b1 = sum/100;
				b2 = sum/10%10;
				b3 = sum%10;
				printf("%d %d %d\n",b1
2019-03-07 21:27:02
int main()
{
    int n,b[];
    scanf("%d", &n)
    for(int i=0;i<n;i++)
    {
        scanf("%d",&b[i]);
    }
    for(int i=n;i=0;i--)printf("%d\n",b[i]);
    return 0;
}
我这里怎么错了?求助!!!
2019-03-04 21:48:59
#include <stdio.h>

int hanshu(int i, int n,int *p);
int main()
{
	int x[5];
	int i, n,s;
	s = 0; n = 0;
	for (i = 0; s!='\n'; i++) {
		
		scanf("%d", &x[i]);
		n++;
		s = getchar();
	}

	printf("%d\n", n);

	int *p = x;

	hanshu(i, n, p);

	return 0;
}


int hanshu(int i, int n,int *p) {

	for (i = 0; i < n ; i++) {
		if (i < n-1) {
			printf("%d ", p[i]);
		}
		else {
			printf("%d\n", p[i]);
		}
	}
	for (i = n-1 ; i >= 0; i--) {
		printf("%d", p[i]);
	}
	return 0;
}请问大神们这个为什么超时了啊 我自己编译没问题啊
2019-02-02 00:17:25
#include<stdio.h>
int main()
{
	scanf("%d",&E);
	a=E/10000%10;
	b=E/1000%10;
	c=E/100%10;
	d=E/10%10;
	e=E%10;
    F=a*1+b*10+c*100+d*1000+e*10000;
	printf("%d %d %d %d %d\n",a,b,c,d,e);
	printf("%d\n",F);
        return 0;
}
请问我这个程序哪里错了,为什么说答案错误?
2019-01-26 20:19:01
#include<stdio.h>
#include<math.h>
int main()
{
    int m=0,n;
    int s[10];
    int i=0;
    scanf("%d",&n);
    while(n)
    {
    	s[i++]=n%10;
    	n/=10;
    	m++;
	}
	printf("%d\n",m);
	while(i--)
	{
		printf("%d ",s[i]);
	}
	printf("\n");
	i+=1;
	while(m--)
	{
		printf("%d",s[i++]);
	}
       
    return 0;
}
2019-01-23 14:28:50
#include <stdio.h>
int main()
{
	 int a, b=0, c[100];
	scanf("%d", &a);
	while (a > 0)
		{
		c[b] = a % 10;
			a /= 10;
			if (a == 0)
				break;
			b++;
		}
		printf("%ld\n", b+1);
		for (int i = b; i >=0; i--)
			printf("%d ", c[i]);
		printf("\n");
			for(int i=0;i<=b;i++)
		printf("%d", c[i]);
			printf("\n");
			return 0;
}
请问一下为什么输入的数字不能超过十位呢?需要修改哪里呢?
2018-12-28 17:19:20
#include"stdio.h"
int main(){
  int a,b,c,d,e;
  int x;
  scanf("%d",&x);
  if(x>9999)
    printf("5\n");
		else if(x>999&&x<10000)
	printf("4\n"); 
		else if(x>99&&x<1000)
	printf("3\n"); 
		else if(x>9&&x<100)
	printf("2\n");
		else 
	printf("1\n");
  	 	a=x/10000;
   		b=x%10000/1000;
   		c=x%1000/100;
   		d=x%100/10;
   		e=x%10;
   printf("%d %d %d %d %d\n",a,b,c,d,e);
    while(x)
    {
        printf("%d ",x%10);
       x/=10;
	   }
    return 0;
}
2018-12-20 18:48:19