当你想计算多组数字相加时,那就需要输入多个数字,在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的用法,就会发现都是使用的一个方法。