• ベストアンサー

C言語プログラミング

文字列を入力して、1文字右に回転させて出力するプログラムを教えてください。 例 入力文字reste→出力結果ester

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

Cの文字列とは、要するに配列です。 配列要素を一つずつずらして押しだされた分を先頭(もしくは末尾)に入れ直す、と考えればさほど難しいものではないでしょう。

その他の回答 (2)

回答No.2

printf("%s%c", satr + 1, *str);

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

> 入力文字reste→出力結果ester これだと、left rotateのような。 例どおりだと、こうとか: http://www.ideone.com/Vj4gD C++だけど、考え方は一緒。

関連するQ&A

  • C言語のプログラミングですが、

    C言語のプログラミングですが、 255文字以内の文字列をキーボードから入力して、下記の各処理を行うプログラム(※入力した文字データは配列に入力)はどのようにしたらいいでしょうか?(入力例:acFNkeexFFg) ・入力した文字列の最後の文字を出力 ・入力した文字列⇒逆に並べ替えて出力 ・入力した文字列⇒縦に出力(1文字ずつ) ・入力した文字列の中に「F」が何個あるか ただし、使えるのはfor文・配列・if文ぐらいでそれ以上レベルの高いものは使わないで下さい。 … char str[255]; int i,n,na,nb,nc; printf("Input Strings= "); scanf("%s",str); for(i=0;str[i]!='¥0';i++){ n=i; } printf("The last character= %c",str[n]); くらいまでしか分かりません…

  • プログラミング(C言語)について

    プログラミングの課題です。いろいろ考えたのですがうまくいきません。 文字検索プログラムをC言語で作ろうとしています。多くの文字列(例:ABAABCBBABC・・・)の中から検索したい文字列(例えばABC)を入力して、その文字列が何か所に含まれてそれぞれ何文字目に始まるかを求めるようにするというものです。 どなたかわかる方がいらっしゃいましたらご回答よろしくお願いいたします。できれば詳しく式などを書いていただきたいです。

  • プログラミング(C言語)

    改行で区切られた2つの文字列 a1とa2を受け取って、文字列a2に含まれる文字を文字列a1から全部抜き取るという動作をするプログラム(例 文字列a1 This is a her book. 文字列a2 her 実行結果 This is a book.)を作ろうと考えているのですが、なかなか出来ずに困ってます。どなたか教えて下さい。お願いします。

  • C言語でのプログラミングについて

    キーボードから入力された文字列に含まれる各文字の個数を出力するプログラムを作成せよ。 条件 ・対象とする文字は英字の小文字のみでよい ・文字列の長さは100文字まで対応できるようにせよ 例 $ ./a.out input:aaabtzz a:3 b:1 t:1 z:2 という問がわかりません。 プログラムの例(C言語)と出来れば解説もご教授ください。 ※大学で一年c言語をやった程度なので難しいことや高度なテクニックはわかりません。多少面倒でも初歩的な知識だけで理解できるようにお願いします。 #include<stdio.h>内でできるものでお願いします。 以下、自分なりに考えたものです。 #include<stdio.h> int main(void) { char a[100]; printf("input:"); scanf("%100s",a); (ここからがわかりません) return 0; } 本当に困っています。ご教授お願いします。

  • C言語プログラミング

    [問題] 一行文字列を読み込み、その中の英小文字列をすべて英大文字に出力するプログラムを作りなさい。 という問題です。どなたか分かる方ご指導お願いします!

  • C言語のプログラミングについてです。

    C言語のプログラミングについて教えて欲しいです。 scanf関数を用いて、キーボードから文字列(最大30文字)を読み込み、これをchar型配列に格納します。最大10個までの文字列が入力された場合か、「END」が入力された時、入力された逆順で画面に表示するプログラム。作成しなさい。 〈完成例〉 adjm 10mdjp jpd-4 njad' END njad jpd-4 10mdjp adjm

  • c言語プログラミングHELP!

    c言語でプログラムを組んでるんですが、どうしてもわからないものがありまして、 まず一つ目がキーボードから英小文字を一つ入力し、その文字を大文字に変換して出力するプログラミングです。結果がまずひとつの英小文字を入力して、入力した文字と、大文字に変換した文字を出力するプログラミングです。 ちなみにヒントは'a'=97,'A'=65です 二つ目が二桁の16進数('41'から'49','50'から'59')を入力すると対応する文字を表示するプログラミングです。また、%xは使用しないこと。なお、入力に間違いはないものとする。(ヒントは入力は一つの数値か、二つの文字か?だそうです。) 結果は二桁の16進数('41'から'49','50'から'59')を入力して、文字コードの二桁の数字と文字を出力するプログラミングです。 お願いします。

  • プログラミングC

    以下に示すプログラムは、キーボードから39文字以下の文字列を入力した後で、その文字列を表示するプログラムである。ただし、文字列の表示においては、printf命令における変換指定で、%sを使用するのが一般的であるが、以下のプログラムあえて%sを使用せずに、%cを使っている。このプログラムについてキーボードから入力される文字列の文字数が391文字以下である限り、その文字列を正しく表示できるよう、下線部を埋めてプログラムを完成させなさい。 char x[40],i printf("39文字以下の文字列を入力:"); scanf("%s",x); for(i=0;x[i]_____;i++) printf("%c",x[i]); printf("です。\n"); [実行例] 39文字以下の文字列を入力:programming 入力された文字列はprogrammingです。

  • C言語の問題

    配列の問題 1.キーボードから入力したアルファベットの大文字(A~Z)の入力回数をそれぞれ数え、結果を画面出力するプログラムを作成せよ。但し、入力の終了はEOFとし、入力回数のカウントには、配列を用いるものとする。(文字ごとに回数を格納する配列を用意する) 2.キーボードから番号(数字)を入力し、その番号に該当する文字列中の文字を画面表示するプログラムを作成せよ。なお、数字以外の文字が入力した場合と、文字列の範囲外の数字が入力された場合は、任意のメッセージを出力し、再入力するようにする。また文字列はキーボードから入力するものとする。 この問題が解けなくて困ってます。どうか知恵をかしてください。

  • アセンブラ言語CASLIIのプログラミングを教えてください

    始めて質問します。よろしく御願いします。 さっそく質問ですが、「キーボードより入力した文字列(少なくとも2文字以上)を逆順に並べ替え、一括して出力するプログラム」が作りたいのですが、作り方がよくわからなくて困っています。 わかる方いらっしゃいますか? 例えば、「abc」と入力したものが「cba」と出力されるプログラムということだと思うのですが・・・

専門家に質問してみよう