解题思路:
用控制格式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 条评论

沧浪 5年前 回复TA
为啥这样不对呀。。求大佬

#include<stdio.h>
int main()
{
    int a[100],b=0;
    while(scanf("%d",&a[b++])!=EOF)
    {
    }
    for(int i=0;i<b;i++){
        printf("%c",a[i]);
    }
}
手残 5年前 回复TA
do
{
   scanf("%d",&a[i]);
   i++;
}while((c =getchar())!=EOF);
  为什么不能用
bluedam 5年前 回复TA
这代码能运行????
Nita 5年前 回复TA
@节奏大佬 你没有让n获得键值,n目前是一个随机数。 while是一个死循环,一直输出信息,于是就输出超限了
我是熊大啊 5年前 回复TA
@cpython3 嗯嗯 哈哈哈士别三日 我明白了 - -
cpython3 5年前 回复TA
@cpython3 @Mrbear OJ系统判断是逐个判断,不必要全部输入再输出,可以参考我文章中的"ACM的输入输出"哈。
镜牙 5年前 回复TA
@cpython3 有道理
节奏大佬 6年前 回复TA
@节奏大佬 还有,输出超限是什么意思......
节奏大佬 6年前 回复TA
我这个代码为什么会输出超限?
#include <stdio.h>
#define N 130

int main(){
    int i,n;
    char a[N];
    for(i=0;i<127;i++)
        a[i]=i+1;
    scanf("%d",&n);
    while(n!=EOF){
        printf("%c",a[n-1]);
        scanf("%d",&n);
    }
}
我是熊大啊 6年前 回复TA
@cpython3 你这个只能一下子打完,如果你像题目一样输入的时候换行就会提前输出