c言語

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
gooopt

c言語

#1

投稿記事 by gooopt » 3年前

c言語始めたばかりなんですが、実行例が以下のようにしたいのですが、プログラム挿入部分を教えていただけると助かります。文字列として入力した数値をint型の変数に変換するプログラムです。入力する数値は最大8桁までの自然数です

#include<stdio.h>
#include<math.h>

int main()
{
int a;
char aa[9];
printf("a=”);
scanf(”%s”,aa);
『プログラム挿入部分』
printf(”a=%d¥n”,a);
return(0);



実行例
a=9325
a=9325

アイコス

Re: c言語

#2

投稿記事 by アイコス » 3年前

コード:

#include <stdio.h>
#include <math.h>

int main(){
	int a;
	char aa[9];
	printf("a=");
	scanf("%s",aa);
	//『プログラム挿入部分』開始
	a=9325;
	printf("a=9325\n");
	//『プログラム挿入部分』終了
	printf("a=%d\n",a);
	return(0);
}

アバター
purin52002
記事: 235
登録日時: 4年前
連絡を取る:

Re: c言語

#3

投稿記事 by purin52002 » 3年前

「文字列 int 変換」などでググれば幸せになれるかもしれません^^
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^

かずま

Re: c言語

#4

投稿記事 by かずま » 3年前

codeタグを使っていない。

ソースプログラム中に全角文字を使っていて、
プログラム挿入部分だけでは解決しません。

#include<math.h> は、何のため?

『プログラム挿入部分』

コード:

    a = atoi(aa); // #include <stdlib.h> がないが、atoi は int を返すからよし

	a = strtol(aa, NULL, 10); // #include <stdlib.h> がなく、long を返すのがちょっと

	sscanf(aa, "%d", &a);

	a = 0; for (int i = 0; aa[i]; i++) a = a*10 + aa[i] - '0';

	a = 0; for (int i = 0; isdigit(aa[i]); i++) a = a*10 + aa[i] - '0';

	a = 0; for (int i = 0; aa[i]>='0' && aa[i]<='9'; i++) a = a*10 + aa[i] - '0'

	a = 0; for (char *p = aa; *p; p++) a = a*10 + *p - '0';

	a = 0; for (char *p = aa; isdigit(*p); p++) a = a*10 + *p - '0';

	a = 0; for (char *p = aa; *p>='0' && *p<='9'; p++) a = a*10 + *p - '0';
c言語 by gooopt
c言語 by mooooook
ソースプログラム中に同じ全角文字を使っていることや同じ件名などから、
同一人物の投稿にほぼ間違いありません。
別名を使うことは、フォーラムルールに反しています。

返信

“C言語何でも質問掲示板” へ戻る