解题思路:
用控制格式while((scanf("%d",&a[i]))!=EOF)输入整数;

循环打印出ascii码对应字符;


注意事项:

#include<stdio.h>

int main()
{
 char c;
 int a[100],i=0;

do
{
   scanf("%d",&a[i]);
   i++;
}while((c =getchar())!=EOF);

for(int j=0;j<i-1;j++)
  printf("%c",a[j]);

return 0;
}


这样写错误。


参考代码:

#include<stdio.h>

int main()
{
 char c;
 int a[100],i=0;

while((scanf("%d",&a[i]))!=EOF)
{

   i++;

}

for(int j=0;j<i;j++)
  printf("%c",a[j]);

return 0;
}


点赞(45)
 

0.0分

84 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 54 条评论

勇者无敌 3年前 回复TA
#include<stdio.h>
 
int main()
{
 char c;
 int a[100],i=0;
 
while((scanf("%d",&a[i]))!=EOF)
{
 
   i++;
 
}
 
for(int j=0;j<i;j++)
  printf("%c",a[j]);
 
return 0;
}
这段代码中不需要char c;
初夕 3年前 回复TA
#include<stdio.h>
int main()
{
    char a[100];
    int n;
    for(int i=0;i<100;i++)
        {scanf("%d",&a[i]);
        if(a[i]==33)
        {   n=i;
            break;
        }
        }
    for(int i=0;i<=n;i++)
        printf("%c",a[i]);
    return 0;
}
为什么这个不对?
木头 4年前 回复TA
@一位热心的老大爷 字符数组长度不够,
木头 4年前 回复TA
@woaicc ctrl +z
木头 4年前 回复TA
@抹茶抄 getchar 收入的是数字0-9的字符,,那么输出也是数字0-9的字符
qaq 4年前 回复TA
@woaicc 复制作者代码后 为啥输入Ctrl+c之后啥也出不来
Manchester 4年前 回复TA
@woaicc Ctrl+c
抹茶抄 4年前 回复TA
求解,为什么我这个输出的还是数字啊?
include<stdio.h>
main()
{
	int i,j;
	char b[100];
	do{
		b[i]=getchar();
		i++;
	}
	while(b[i-1]!='\n');
	i--;
	do{
			b[i]=getchar();
		i++;
	}
	while(b[i-1]!='\n');
	for(j=0;j<i;j++)
	  printf("%c",b[j]);
	  return 0;
 }
woaicc 4年前 回复TA
怎么输入EOF啊
沧浪 4年前 回复TA
@沧浪 @18870773891 谢谢大佬