03_단어 개수, 단계 곱 하기, 출력 이 가장 짧 고 긴 문자열 을 통계 합 니 다.
프로그램 을 만 들 고 사용자 가 입력 한 '...' 로 끝 나 는 한 줄 의 문 자 를 읽 습 니 다. 모두 몇 개의 단어 가 있 는 지 통계 하고 각 단어 에 몇 개의 문자 가 있 는 지 출력 합 니 다.
(하나 이상 의 빈 칸 으로 구 분 된 부분 은 하나의 단어)
입력:
"." 로 끝 나 는 문자열 1 줄 을 입력 하 십시오. 문자열 에는 여러 단어 가 포함 되 어 있 습 니 다. 단어 사 이 는 하나 이상 의 빈 칸 으로 구분 되 어 있 습 니 다.
출력:
여러 그룹의 테스트 데이터 가 있 을 수 있 습 니 다. 각 그룹의 데이터 에 대해 서 는...
출력 문자열 에 있 는 단어 마다 포 함 된 자모의 갯 수 입 니 다.
샘플 입력:
hello how are you.
샘플 출력:
5 3 3 3
답안 을 참고 하 다
#include<stdio.h>
#include<string.h>
int main()
{
char str[1000], index, str_len, k;
int word_len[1000]={0}; //
while(gets(str))
{
index=0;
str_len = strlen(str);
memset(word_len, 0, 1000);
k=0;
while((' ' == str[k]) && (k<str_len-1))//
{
k++;
}
while(k<str_len-1)
{
if(str[k] != ' ')//
{
word_len[index] += 1;
k++;
}
else//
{
index++;
while((k<str_len-1) && (' ' == str[k]))//
{
k++;
}
}
}
for(k=0; k<index; k++)
{
printf("%d ", word_len[k]);
}
printf("%d
", word_len[k]);
}
return 0;
}
참고 프로그램 (이 문제 와 유사 하지만 이 문제 풀이 가 아 닙 니 다)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char words[100][100];
int w_index,w_num,i=0;
char ch;
printf("Input a string :
");
w_num = 0;
w_index = 0;
while((ch = getchar()) != '.')
{
if(ch == ' ')
{
if(w_index)
{
w_index = 0;
w_num++;
}
}
else
{
words[w_num][w_index++]=ch;
words[w_num][w_index] = '\0';
}
}
printf("
There are %d words.
", w_num + 1);
for(i=0; i <= w_num; i++)
{
printf("%s\t %d
", words[i], strlen(words[i]));
}
}
2. 제목 설명:
입력 n,
제발 y1 = 1! +3!+...m!(m 는 n 보다 작은 최대 홀수)
y2 = 2! + 4! +... p!
입력:
각 그룹의 입력 은 정수 1 개 를 포함 합 니 다: n
출력:
여러 그룹의 테스트 데이터 가 있 을 수 있 습 니 다. 각 그룹의 데이터 에 대해 서 는...
출력 문제 요구 y1 과 y2
샘플 입력:
4
샘플 출력:
7 26
답안 을 참고 하 다
#include <stdio.h>
long int result[15];
// 1 14 result ,
// long int , 15!
void initialize()
{
long int i,tmp=1;
for(i=1; i<14; i++)
{
tmp=tmp*i;
result[i]=tmp;
}
}
int main()
{
int n,i;
long int sum1, sum2;
initialize();
while(scanf("%d",&n) != EOF)
{
sum1 = sum2 = 0;
// result
for(i=1; i<=n; i++)
{
if(i%2==1)
sum1 += result[i];
else
sum2 += result[i];
}
printf("%ld %ld
", sum1 ,sum2);
}
return 0;
}
3. 제목 설명:
여러 줄 의 문자열 을 입력 하 십시오. 원본 의 순서에 따라 가장 짧 고 긴 문자열 을 출력 하 십시오. 가장 짧 고 긴 문자열 이 하나 가 아니라면 모두 출력 하 십시오.
입력:
여러 줄 문자열, 문자열 의 길 이 를 포함 하 는 len 을 입력 하 십시오. (1 < = len < = 1000)
출력:
원본 의 순서에 따라 가장 짧 고 긴 문자열 을 출력 합 니 다. 가장 짧 고 긴 문자열 이 하나 가 아니라면 모두 출력 하 십시오.
샘플 입력:
hello
she
sorry
he
샘플 출력:
he
hello
sorry
답안 을 참고 하 다
#include<stdio.h>
#include<string.h>
#include <limits.h>
typedef struct strs{
int len; //
char arr[1001]; //
}strs;
strs store[10001];
int main()
{
int i, index = 0;
int max_len = INT_MIN, min_len = INT_MAX;
while(scanf("%s", store[index].arr) != EOF){
store[index].len = strlen(store[index].arr);
if(max_len < store[index].len){ //
max_len = store[index].len;
}
else if(min_len > store[index].len){ //
min_len = store[index].len;
}
index++;
}
for(i = 0;i < index;i++){ //
if(store[i].len == min_len){
puts(store[i].arr);
}
}
for(i = 0;i < index;i++){ //
if(store[i].len == max_len){
puts(store[i].arr);
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.