Câu hỏi về hàm trong c

c

(Xuân Hòa Võ) #1

mọi người cho em hỏi em có tạo một project bao gồm nhiều hàm con. phần khai báo hàm e bỏ vào file “kiemtra.h” phần định nghĩa vào là file “kiemtra.cpp”. Các hàm con của em bao gồm:

int ktrascp(int n);
int ktrasnt(int n);
int ktrasdx(int n);
int ktrastl(int n);
int ktrashc(int n);

khi chạy thì chương trình chỉ xét tới ktrasdx là ngừng. mọi người cho em hỏi tại s ạ. Em định nghĩa và trả về giá trị đầy đủ r. Em cảm ơn, mong mn giúp đỡ.


(Xuân Hòa Võ) #2

code của em:

#include "pch.h"
#include "kiemtra.h"
#include<iostream>
int ktrascp(int n)
{
	int i = sqrt(n);
	if(i*i==n)
	return 1;
}
int ktrasnt(int n)
{
	int k;
	for (int i = 1; i < sqrt(n); i++)
	{
		if (n%i == 0)
			k = 1;
	}
	if(k==1)
   return 0;
}
int ktrasdx(int n)
{
	int d = 0;
	while (n >= 100)
	{
		int x = n % 10;
		d = d * 10 + x;
		n = n / 10;
	}
	if(n==d)
	return 1;
}
int ktrastl(int n)
{
	while (n != 0)
	{
		int x = n % 10;
		if (x % 2 != 0)
			return 0;
		n = n / 10;
	}
	return 1;
}
int ktrashc(int n)
{
	int s = 0;
	for (int i = 0; i < n; i++)
	{
		if (n%i == 0)
			s += i;
	}
	if (s == n)
		return 1;
}
\\định nghĩa hàm.
đây là hàm main
#include "pch.h"
#include <iostream>
#include"kiemtra.h"
#include"tinhtong.h"
int main(void)
{
	int n;
	int s = 0;
    printf("nhap n: ");
	scanf_s("%d", &n);
	if (ktrascp(n) == 1)
		printf("%d la so chinh phuong.", n);
	else
		printf("%d ko la so chinh phuong.", n);
	if(ktrasnt(n)==1)
		printf("\n%d la so nguyen to.", n);
	else
		printf("\n%d ko la so nguyen to.", n);
	if (ktrasdx(n) == 1)
		printf("\n%d la so doi xung.", n);
	else
		printf("\n%d ko la so doi xung.", n);
    if (ktrashc(n)==1)
		printf("\n%d la so hoan thien: ", n);
	else
		printf("\n%d ko la so hoan thien: ", n);

(Tao Không Ngu.) #3

Hi Xuân Hòa Võ.

  1. cpp là file mã nguồn c++.
  2. Bạn xem kỹ tut.
    Làm quen với cách viết chương trình C++ trên nhiều file
  3. Format lại code.

(Xuân Hòa Võ) #4

em cảm ơn anh nhiều.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?