每日一C:输入N行整数,计算并输出每一行的和

  • 2017-09-28
  • 284
  • 1
  • 0

1.输入的第一行是一个正数N,表示后面有N行。每一行的第一个数是M,表示本行后面还有M个数。

解析:n为行数,i初始化为0.  第一个while循环判断超行结束循环 , 第二个while判断是否超过m个数字.m小于0的时候结束循环.

#include <stdio.h>
#include <string.h>
int main()
{
	int	n, m, i = 0, temp;
	int	num[100] = { 0 };
	scanf("%d", &n);
//0~n-1行,每行数字循环相加
	while (i < n)
	{
		scanf("%d", &m);//获取此行几个数字
		while (m>0)
		{
			scanf("%d", &temp);//获取整数
			num[i] += temp;
			m--;
		}
		i++;
	}
//循环输出每行的和
	for (i = 0; i < n; i++)
		printf("%d\n", num[i]);
	getch();
}

 

2.输入的第一行是一个正数N,表示后面有N行。计算每行所有数字之和.

解析:数字与数字之间空格分割,那么可以用getchar读取一个字符来判断,如果遇到’\n’就跳出循环结束此行的计算.遇到空格则只是获取了空格,不影响整数读取.

#include <stdio.h>
#include <string.h>
int main()
{
	int	i=0, n , temp,;
	int	num[100] = { 0 };
	scanf( "%d", &n );
//0~n-1行,每行数字循环相加
	while ( i < n )
	{
		while ( 1 )
		{
			scanf( "%d", &temp );//获取整数
			num[i] += temp;
			if ( getchar() == '\n' )//遇到换行,跳出for循环
				break;
		}
		i++;
	}
//循环输出综合
	for ( i = 0; i < n; i++ )
		printf( "%d\n", num[i] );
}

本来就一题的,什么情况(>﹏<),没仔细审题,错了,写成了第二题这样的意思了,所以就出现了第二题.

题目越写越简单了哈哈,这是Alpaca(2283433295)给的课本练习题.

  1. 2016:  建站程序修改維護集合(0)

评论

  • 白铁通风管道回复
    Google Chrome 47 Google Chrome 47 Windows XP Windows XP

    可以学习学学

发表评论