解決済みの質問
C言語についての質問です
C言語についての質問です
C言語の宿題が出たのですが、全然わかりません。
これを出さないと退学になってしまいます!!!!!!!
作ってくれませんか?
1、文字列を入力し、char型配列に格納し、配列内の数字をint型に変換するプログラムを作成する。
2、int型のデータを入力し、一桁ごとに文字型配列に格納するプログラムを作成する。
3、上の1と2をまとめて一つのプログラムを作成し、両方の機能が実行できるようにする。
これらの3つのプログラム内のどこかで、関数、ポインタ、構造体を何らかの形で使うこと。
自分の力ではここまでできました。
#include<stdio.h>
#include <stdlib.h>
void main() {
char str[256];
int inum,*p;
p=&inum;
printf("文字を入力=>");
scanf("%s",&str);
inum=atoi(str);
printf("%d\n",*p);
}
- 補足
- ecl_love_youさん
1番は変換する方法は指定されていませんでしたが、atoiを使うのかなと自分は思いました。
あと、2番の補足で、int型以外の文字が入力された場合は、「0」を変換結果としなければいけないようです。
kaikou_desuさん
課題を提出しないとD判定をもらってしまい進級出来なくなってしまうんです><
この質問は、活躍中のチエリアンに回答をリクエストしました。
-
- 質問日時:
- 2012/2/14 11:35:01
-
- 解決日時:
- 2012/2/14 14:36:25
-
- 回答数:
- 2
-
- お礼:
- 知恵コイン
- 500枚
-
- 閲覧数:
- 101
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
1の回答
int i[100];
char c[100];
fgets(c,100,stdin);
for(j=0;j<100;j++)
i[100]=isdigit(c[i])?c[i]-'0':0;
配列内の数字をint型に変換する方法が書いていなかったので。
2の回答
int i=0,d;
char a[10];
if(scanf("%d",&d)!=1)d=0;
if(d<0)d=-d,a[i++]='-';
if(d)
for(;d>0;d/=10)
a[i++]=d%10+'0';
else
a[i++]='0';
a[i]='\0';
問題文に一桁ごとの順番が書いていなかったので。
- 違反報告
- 編集日時:2012/2/14 13:42:32
- 回答日時:2012/2/14 12:24:21
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:
1人が役に立つと評価しています。
ベストアンサー以外の回答
(1件中1〜1件)
なんでこれを出さなかった程度で退学になるんだよw
scanf("%s",&str);//文字列を入力するときは&はいりません。
もうちょっと頑張ろう
- 違反報告
- 編集日時:2012/2/14 11:51:07
- 回答日時:2012/2/14 11:50:44

