Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Không xuất ra được tổng các chữ số trong mảng

8 năm trước 766 lượt xem 2 bình luận 8 năm trước

Không biết mình đã sai phần nào nên không xuất ra được phần tổng các chữ số trong mảng nó chỉ xuất ra là 0.

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Trần Thành Vi Thanh Member đã bình luận 8 năm trước

Chỗ s = s + (a[i]%2) sửa lại thành s = s + a[i]. Nguyên nhân là do bạn kiểm tra a[i] chia hết chia 2 xong lại cộng dồn s với phần dư (vì chia hết nên phần dư luôn là 0) nên tổng luôn ra 0.

thangliudiu đã bình luận 8 năm trước

Bạn đọc chơi! 

#include "stdafx.h";
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>

int n = 0;
int dem =0;
void XuatMang(int a[])
{
	printf("\nMang so nguyen la: \n");
	int i;
	srand(time(NULL));
	for (i = 0; i<n; i++)
	{
		a[i] = 0 + rand() % 10;
		printf("\na[%d] = %d \n", i, a[i] );
	}
}

//int TongChanCua_n(int n)
//{
//	if (n == 0)
//		return 0;
//	if (n % 2 == 0)
//		return TongChanCua_n((n / 10) + (n % 10));
//	return TongChanCua_n(n / 10);
//}



int TongChanCuaMang(int a[])
{
	int s;
	s = 0;
	if (n == 0)
		return 0;
	else
	{
		for (int i = 0; i < n; i++)
		{
			if (a[i] % 2 == 0)
			{
				s = s + a[i];
				dem++;
			}
		}
	}
	return s;
}



void main()
{

	int a[100];
	printf("Nhap n: ");
	scanf_s("%d", &n);
	XuatMang(a);
	int tong = TongChanCuaMang(a);

	printf("\n cac chu so chan trong mang la %d\n", dem);
	printf("\n tong cac chu so chan trong mang la %d\n", tong);
	_getch();
}

 

Câu hỏi mới nhất