playXP

서브 메뉴

Page. 1 / 84250 [내 메뉴에 추가]
작성자 어헝으헝이
작성일 2010-10-10 22:51:06 KST 조회 435
제목
정말 죄송하고 급해서 그런건데요...C언어 고수님들 도움점여..ㅠㅠ

scanf함수를 사용하여 10자의 영문자를 입력받아 영문 소문자"a"의 수를 알아내는 프로그램에 대해서인데요

#include <stdio.h>
int main()
{
 unsinged char a[100],x,y=0;
 printf("문자를 입력하세요:\n");
 scanf("%s",a);

 for(x=0; x<100; x++){
  if(a[x]!=0)y++;
    if(a[x]==0)break;
 }
 printf("입력된 문자의 수는 %d개 입니다.\n",y);

 

여기 까지 밖에 모르겠네요;; 허접이라서

그리고 검색한 결과가 10개 이하이면 각가의 문자를 "a"와 비교하여 같으면 upcount시키는 부분도 있어야 해요

정말 염치를 불구하고 올립니다 금방 글 지울테니 도와주세요 ㅠㅠ

나머지 뒷 부분 좀 알려주시면 감사하겠습니다 ㅠㅠ

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
아이콘 GalaxyKT (2010-10-10 22:51:47 KST)
0↑ ↓0
센스 이미지
ㄷㄷ 어지럽다
맹덕스핀 (2010-10-10 22:52:08 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
하얀건 종이요 검은건 글자로군
아이콘 초식성늑대 (2010-10-10 22:52:18 KST)
0↑ ↓0
센스 이미지
컴퓨터쪽은 모르지만 프로그래머 최종테크가 닭집이라는 유머가 있는거로 봐서 근처 닭집사장님에게 물어보세요


ㅈㅅ;;
AirQuick (2010-10-10 22:52:32 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
검색한 결과가 10개 이하이면 각가의 문자를 "a"와 비교하여 같으면 upcount시키는 부분도 있어야 해요

이게 무슨 말인지 이해가 잘 안감
아이콘 hazharu (2010-10-10 22:53:46 KST)
0↑ ↓0
센스 이미지
get으로 하나씩 카운터하면서 입력하는 방법도 있어요
KeicHi (2010-10-10 22:54:11 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
이러면 scanf로는 하나 밖이 못받으니 scanf를 for문 안으로 넣으셔요
아이콘 라이아크 (2010-10-10 22:54:25 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
if(a[x]!=0)y++;
if(a[x]==0)break;


if(a[x]!=0)
y++;
elseif(a[x]==0)
break;

하는게 낫지 않을까 함.
hekler (2010-10-10 22:54:41 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
array 이용해서 하시면 될 것 같은데요? 일단 입력받은 숫자가 몇개인지에 따라서 어레이 달라지도록 하고, 그 어레이에 일일히 a인지 아닌지 확인해본다. 이런식으로 하시면 쉽게 하실것 같네요. 제가 C++로 배워서 C로는 잘 모르겠지만 아마 저렇게 하면 되실듯
아이콘 hazharu (2010-10-10 22:54:54 KST)
0↑ ↓0
센스 이미지
위처럼 하려면 입력받은것을 몇바이트인지 알아내는 명령어로 받아서 2로 나누는게?;
C한지 좀되서 생각이 잘안나네요 ㅋ
아이콘 매콤한라면 (2010-10-10 22:54:59 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
문제는 간단해 보이는데 설명이 뭔소린지 몰라서 못도와주겠당
아이콘 라이아크 (2010-10-10 22:54:59 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
아 생각해보니 scanf가 입력이.................. cin이 속편하겠는데;;
hekler (2010-10-10 22:55:16 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
애초에 어레이를 쓰셨군..
아이콘 낙원이 (2010-10-10 22:55:23 KST)
0↑ ↓0
센스 이미지
scanf 저렇게하면 오류나지 않아요?
아이콘 gjs001 (2010-10-10 22:55:51 KST)
0↑ ↓0
센스 이미지
걍 변수하나(k) 더 지정해서 for문안에
if(a[x] == 'a') k++;
한다음 k값출력하면되잖아여;
아이콘 Classique (2010-10-10 22:56:18 KST) Classique@Kalimdor (Lv.0)
0↑ ↓0
센스 이미지
정확히 문제가 뭐죠? -_- 10개를 입력받아서 그 중에 'a'가 몇개있는지를 카운트 하는건지

더 긴 문자열을 받아서 입력받은 문자가 10개 이하이면 'a'가 몇개 있는것인지 카운트를

하는건지...;
아이콘 Classique (2010-10-10 22:56:46 KST) Classique@Kalimdor (Lv.0)
0↑ ↓0
센스 이미지
낙원이 /// string인 s로 받는거라서 &없어도 되는걸로 알고 있음요
아이콘 gjs001 (2010-10-10 22:57:12 KST)
0↑ ↓0
센스 이미지
그리고 scanf네여;; for문으로 하나씩입력하게 해야할듯...
아이콘 체샤 (2010-10-10 22:58:27 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
#include <stdio.h>

void main()
{
char a[10];
int count=0;
scanf("%s",&a);
for(int x=0;x<11;x++)
{
if(a[x]=='a')
count++;
}
printf("%d",count);
}
로 짜면 크기 10개인 문자열을 받아서 a의 개수를 출력해줌;
근데 문제가 의도한게 이게 맞나 ㅡㅡ
아이콘 hazharu (2010-10-10 22:59:05 KST)
0↑ ↓0
센스 이미지
ㄴ a개수가 아니라 그냥 문자갯수 같아요.
아이콘 체샤 (2010-10-10 22:59:21 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
x<11 -> x<10
아이콘 glados (2010-10-10 22:59:35 KST)
0↑ ↓0
센스 이미지
#include <stdio.h>
int main()
{
char a[20];
int x,y=0;
printf("문자를 입력하세요: ");
scanf("%s",a);
for(x=0; x<20; x++)
{
if(a[x]=='a')
y++;
}
printf("입력된 문자중 'a'의 수는 %d개 입니다.\n",y);
}

기초동작하는 코드 a의 숫자를 새서 출력
나머지는 뭔소린지도 잘 모르겠고 스스로 하시오

그리고 string인 s로 받아서 & 안써도 되는게 아니라
-_-;;;
a자체가 주소를 가리키기 때문에(배열의 이름) 다른변수를 scanf로 지정해줄때
주소를 받아오는 &를 안써도 되는거임
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.