当你想计算多组数字相加时,那就需要输入多个数字,在C语言中,一般一个scanf只能输入一组数据,那如何能同时输入多组数据呢?

使用while死循环

例(一):

直接用while来解决,上代码:

#include "stdio.h"int main() {int n, m;while (scanf("%d %d", &n, &m) ) {if (n == 0 && m == 0) {break;} else {printf("%d", m + n);}}}

例(二):

这个就更显而易见了,直接用while:

#include "stdio.h"int main() {int n, m;while (scanf("%d %d", &n, &m) != EOF ) {printf("%d", m + n);}}

例(三):

#include "stdio.h"int main() {int n;while (scanf("%d", &n) && n) {int m,sum = 0;//定义m,sum一定要在while循环中写,每一次的输入都会得到一个输出while (n--) {scanf("%d", &m);sum += m;}printf("%d", sum);}}

例(四):

#include "stdio.h"int main() {int n, x;scanf("%d", &x);while (x--) {scanf("%d", &n);int m,sum = 0;while (n--) {scanf("%d", &m);sum += m;}printf("%d", sum);}}

使用for循环

例(五):

输入的第一个数字表示你要输入几组数据,接下来就是你要输入的数据了,照例输出。

#include "stdio.h"int main() {int n, x, m;scanf("%d", &x);for (int i = 1; i <= x; i++) {scanf("%d %d", &m, &n);printf("%d", m + n);}}

既然每组数据都是两位数,那么可以尝试用数组来解决:

#include "stdio.h"int main() {int n;scanf("%d", &n);int a, b;int i, j;int str[100] = {0};for (i = 0; i < n; i++) {scanf("%d %d", &a, &b);str[i] = a + b;}for (j = 0; j < n; j++) {printf("%d\n", str[j]);}return 0;}

多组数据的输入输出属于基础内容,熟练掌握while和for的用法,就会发现都是使用的一个方法。