1、2023-5-61 题目的输入数据和输出数据有多组(不定),对每一组输入都应有相应的输出。也就是运行一次程序进行多次计算。通过循环来实现通过循环来实现多实例测试多实例测试先从先从a+b开始:开始:2023-5-62初学者很常见的一种写法:初学者很常见的一种写法:n#includenint main()nn int a,b;n scanf(“%d%d”,&a,&b);n printf(“%d”,a+b);n2023-5-63输入输入_第一类:第一类:n例一:a+b(一)一)n求a+b,输入包含N组数据,下面接着N组数据,每组数据包含两个整数a和b,对每组数据输出a+b的结果,每个结果占一行。Sa
2、mple Input2 1 5 10 20 Sample Output6 302023-5-64源代码:源代码:#include int main()int n,i,a,b;scanf(%d,&n);for(i=0;in;i+)scanf(%d%d,&a,&b);printf(%dn,a+b);2023-5-65本类输入解决方案:本类输入解决方案:scanf(%d,&n);for(i=1;i=n;i+).2023-5-66第二类:第二类:n例二:a+b(二)二)n求a+b,输入包含多组数据,每组数据包含两个整数a和b,对每组数据输出a+b的结果。n特点:没有告诉你有多少组数据Sample in
3、put:1 510 20Sample output:6302023-5-67正确答案正确答案#include int main()int a,b;while(scanf(%d%d,&a,&b)!=EOF)printf(%dn,a+b);2023-5-68本类输入解决方案:本类输入解决方案:while(scanf(%d%d,&a,&b)!=EOF).2023-5-69说明(说明(1):):1.Scanf函数返回值就是读出的变量个数,如:scanf(“%d%d”,&a,&b);如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。2.EOF是一个预定义的
4、常量,等于-1。注意:当所有数据输出完成时,ctrl+z结束输入2023-5-610第三类:第三类:n例三:a+b(三)三)n求a+b,输入包含多组数据,每组数据包含两个整数a和b,对每组数据输出a+b的结果。输入0 0表述输入结束n特点:没有告诉你有多少组数据,但以某个特殊输入为结束标志。Sample Input1 5 10 20 0 0Sample Output6 302023-5-611源代码:源代码:#include int main()int a,b;while(scanf(%d%d,&a,&b)&(a!=0|b!=0)printf(%dn,a+b);2023-5-612本类输入解决
5、方案:本类输入解决方案:while(scanf(“%d”,&n)!=EOF&n!=0).2023-5-613第四类 以上几种方式的结合练习1:求n个数的和 首先输入一个n,接着输入n个数,输出n个数的和 输入:4 2 4 6 8 输出:20单实例测试2023-5-614n练习2:求n个数的和(多实例测试)n首先读入测试实例的个数ncase,接着有ncase行,每行先是一个整数n,接着是n整数n要求对每个测试实例,输出n个数的和2023-5-615输入输入样例nSample Inputn2n4 1 2 3 4 n5 1 2 3 4 5n Sample Outputn10n152023-5-616
6、提示scanf(“%d”,&ncase);while(ncase-)/或for(j=1;j=ncae;j+)scanf(“%d”,&n);sum=0;for(i=1;i=n;i+)scanf(“%d”,&a);sum=sum+a;printf(“%dn”,sum2023-5-617n练习3:求n个数的和(多实例测试)n输入包含多个测试实例,每个实例占一行,每行先是一个整数n,接着是n整数,要求输出n个数的和。n的值为0表示输入结束n要求对每个测试实例,输出n个数的和2023-5-618输入输出样例nSample Inputn4 1 2 3 4 n5 1 2 3 4 5n 0nSample Ou
7、tputn10n152023-5-619提示while(scanf(“%d”,&n)!=EOF,n!=0)sum=0;for(i=1;i=n;i+)scanf(“%d”,&a);sum=sum+a;printf(“%dn”,sum2023-5-620n练习4:求n个数的和(多实例测试)n输入包含多个测试实例,每个实例占一行,每行先是一个整数n,接着是n整数,要求输出n个数的和。n要求对每个测试实例,输出n个数的和2023-5-621输入输出样例nSample Inputn4 1 2 3 4 n5 1 2 3 4 5n Sample Outputn10n152023-5-622提示while(scanf(“%d”,&n)!=EOF)sum=0;for(i=1;i=n;i+)scanf(“%d”,&a);sum=sum+a;printf(“%dn”,sum