关于先输入整型再输入字符串型是否需要吸收换行符的归纳汇总

1. 输入:

5
sky is grey
cold
very cold
stop
3
it is good enough to be proud of
good
it is quite good

分析: 先输入一个整型,再用 getline 输入 string 型,要吸收换行符,否则第一个 string 会读取到一个换行符。

输入代码 : 

while(scanf("%d%*c",&n) != EOF){   //吸收换行符
        int num = 0;
        while(n--){
            getline(cin,str);
            if(str == "stop"){
                break;
            }
            nodes[num].name = str;
            nodes[num++].length = str.size();
        }
}

2.输入

12 + 34
54 - 25
3 * 6
45 / 0
5 !
34 % 0

分析: 先输入一个整型,再用 printf 输入一个 char ,中间有一个空格需要吸收,否则就会读入 char  中。

输入代码:

while(scanf("%d%*c",&n) != EOF){   //吸收空格
		scanf("%c",&o);	
		if(o == '+'){
			scanf("%d",&m);
			printf("%d\n",n + m);
		}
}

 

你可能感兴趣的:(考研复试上机)