質問編集履歴

3

意図した動作の説明を追加

2024/05/20 21:47

投稿

MakotoAkai
MakotoAkai

スコア8

test CHANGED
File without changes
test CHANGED
@@ -57,8 +57,11 @@
57
57
  chcpでminttyの漢字コードを65001(UTF-8)に指定しても挙動は変わらない。
58
58
  932に指定すると、./aもwinpty ./aもどちらも文字化けする。このときの出力内容は65001やデフォルトでwinpty ./aの出力と同じ形に文字化けしている。
59
59
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-05-21/5d1d4094-25ed-4ac6-8b79-5e82d21a2f55.jpeg)
60
+
61
+ プログラム通りに出力されるなら、
62
+ 最初に”整数値:”が出力されて、次にscanfで入力した値(ここでは23)が続き、その下に1と23が出力されて、最後に"約数は2個です。"と出力されるはずです。
63
+
60
- winptyが漢字コードを正しく出力できるなら、その形で解決しても良い。
64
+ winptyが漢字コードを正しく出力できるなら、その形で解決しても良いですしwinpty以外の解決方法があるのであれば、その方法でもよいですよろしくお願いします。
61
- winpty以外の解決方法があるのであれば、その方法でもよい。
62
65
 
63
66
 
64
67
 

2

プログラムの再差し替え

2024/05/20 21:43

投稿

MakotoAkai
MakotoAkai

スコア8

test CHANGED
File without changes
test CHANGED
@@ -13,22 +13,24 @@
13
13
 
14
14
  ### 該当のソースコード
15
15
  ```C言語
16
- //読み込んだ正の整数値までカウントアップ
16
+ //読み込んだ整数値の全約数とその個数を表示
17
17
  #include<stdio.h>
18
18
 
19
19
  int main(void)
20
20
  {
21
- int no;
21
+ int n;
22
22
 
23
- printf("正の整数を入力せよ:");
23
+ printf("整数:");
24
- scanf("%d",&no);
24
+ scanf("%d",&n);
25
25
 
26
+ int count = 0;
27
+ for(int i = 1;i <= n; i++)
26
- if(no >= 1) {
28
+ if(n % i == 0) {
27
- int i=1;
28
- while(i <= no)
29
- printf("%d",i++);
29
+ printf("%d\n", i);
30
- printf("\n");
30
+ count++;
31
- }
31
+ }
32
+ printf("約数は%d個です。\n",count);
33
+
32
34
  return 0;
33
35
  }
34
36
  ```

1

プログラムが別のものだったので差し替えました。

2024/05/20 21:41

投稿

MakotoAkai
MakotoAkai

スコア8

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,8 @@
12
12
  ```
13
13
 
14
14
  ### 該当のソースコード
15
-
16
15
  ```C言語
17
- //読み込んだ正の整数値の個数だけ+と-を交互に表示
16
+ //読み込んだ正の整数値までカウントアップ
18
17
  #include<stdio.h>
19
18
 
20
19
  int main(void)
@@ -26,13 +25,9 @@
26
25
 
27
26
  if(no >= 1) {
28
27
  int i=1;
29
- while(i <= no /2){ // no / 2個の"+-を出力
28
+ while(i <= no)
29
+ printf("%d",i++);
30
- printf("+-");
30
+ printf("\n");
31
- i++;
32
- }
33
- if(no % 2 == 1) //noが奇数のときのみ
34
- putchar('+'); //最後の'+'を出力
35
- putchar('\n');
36
31
  }
37
32
  return 0;
38
33
  }