30/09/2018, 19:08

Cho mình hỏi đoạn code

#include <stdio.h>
#include <conio.h>
#include <string.h>

main()
{
	char xau[50];
	printf ("
Nhap doan van theo yeu cau:");
	gets(xau);fflush(stdin);
	for (int i=0;i<strlen(xau);i=i+1)
	{
		int vt1,vt2;
		if (xau[i]>='A'&&xau[i]<='Z')
		{
			for (int j=i;j>=0;j--)
			{
				if (xau[j]==' ')
				{
				   vt1=j;
				   break;
			       } printf ("vt1=%d",vt1);

			}
			
}}
	getch();

}

mọi người xem cho mình đoạn code này, mình muốn tin vi trí ’ ’ gần vị trí của mỗi chữ hoa trong xâu, chiều giảm dần
vd:hsy dgY
in ra là 3;

Vu Van Chung viết 21:08 ngày 30/09/2018

Không hiểu ý bạn lắm nhưng mình thầy trong code của bạn bạn viết gets(xau);fflush(stdin); thì cái fflush(stdin) phải đứng trước gets(xau) mới đúng ý nghĩa của nó chứ

HUNG viết 21:09 ngày 30/09/2018

ừ mình hơi nhầm chút, nhưng sửa rồi chạy không được.
kiểu mình muốn tìm dâu cách ’ ’ gần nhất với chữ hoa(nằm bên trái chữ đó);
vd:xâu “may iPhone” => in ra là vị trí dấu cách gần nhất và nằm bên trái chữ hoa là 3;

Trần Huy viết 21:10 ngày 30/09/2018

Title nên là đề bài. caption nên là vấn đề

Trần Huy viết 21:11 ngày 30/09/2018

hình như printf() nằm trong hàm if mới đúng

HUNG viết 21:13 ngày 30/09/2018

ừ pritnf trong if, lúc copy hơi lỗi,bạn thử chạy thử xem có đúng ko?

Vu Van Chung viết 21:15 ngày 30/09/2018
#include <string.h>
#include <iostream>
using namespace std;
main()
{
	char xau[50];
	printf ("\nNhap doan van theo yeu cau:");
	fflush(stdin);
	gets(xau);
	int vitri=0;
	for (int i=0;i<strlen(xau);i=i+1)
	{
		int vt1,vt2;
		if (xau[i]>='A'&&xau[i]<='Z')
		{
			for (int j=i-1;j>=0;j--)
			{
				if (xau[j]==' ')
				{
				   vt1=j;
				   break;
			        }

			}
			printf ("vt1=%d",vt1);	
		}
	}
	getch();

}

Mình có sửa lại một chút chỗ hàm print của bạn ném ra khỏi vòng for đó, bạn chạy thử lại nhé

HUNG viết 21:19 ngày 30/09/2018

mình biết sao đâu rồi, thank bạn!

Bài liên quan
0