for文を別のint内で定義し、初めのint文内で呼び出す??? 何という名のプログラム名?ですか???
毎度毎度忙しい中失礼します。現在<私のプログラム>を基に<参照プログラム>のようにプログラムを作り変えようとしていますが、正直お手上げ状態です。
どうしても<参照プログラム>に基づいてプログラムを組まなければならないのです。
どこがお手上げ状態かといえば、<参照プログラム>を参考にすると、int multInts(int x, int y)内の条件の組み方が<私のプログラム>内でどのようにして組めばいいのかが全くもって分かりません。かなり考えても分からないレベルです・・・私にとっては。
int multInts(int x, int y)の定義の仕方を真似て<私のプログラム>でも真似てみるのですが・・・出来ないのです。何をどう直せば良いのでしょうか???初期化でtra=0;とすると、表示は"0"になったりするし・・・。簡単かと思われるかもしれませんが・・・私にとってはかなり難しいのです。
”丸投げ”みたいな感じで恥ずかしいのですが、どうかアドバイスだけでも下さい。お願いします。
出力結果
1.5桁数字入力:"12345"と入力 (これは出来ます)
2.偶数桁のみ抽出して2倍にする→"14385" (最不明部: <参照プログラム>内のmultInts内の条件を<私のプログラム>内でどのようにして組むのかが分かりません)
3.各桁の数値を足し合わせる→1+4+3+8+5=21(不明部: 2.が出来ないので出来ません)
4.その数値が”妥当”か”不当”かをDOS?画面に表示(不明部:2.と3.が出来ないので出来ません)
<私のプログラム>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int num,tra;
int inpt=5;
int inptnum;
int sum=0;
//#define 0
printf("5桁入力; ");
scanf("%d", &num);
if (num==0){
printf("その値は0です。 \n");
}
else{
for(inpt ; inpt >=1 ; inpt--)
{
if(inpt%2 == 0) {
inptnum = pow(10,inpt-1);
tra = (num/inptnum)%10;
//printf("%d",tra*2);
tra=(tra*2)/10+(tra*2)%10;
printf("%d",tra);
}
else{
inptnum = pow(10,inpt-1);
tra = (num/inptnum)%10;
printf("%d",tra);
}
sum += tra;
}
printf("\n %d\n",sum);
sum= sum%10;
if(sum==0)
{
printf("妥当な数値です。\n");
}
else
{
printf("不当な数値です。\n");
}
}
system("pause");
return 0;
}
<参照プログラム>
#include <stdio.h>
#include <stdlib.h>
int main(){
int multInts(int x, int y);
int num1,num2,answer;
printf("間にスペース設けて2つの値入力: ");
scanf("%d%d", &num1, &num2);
answer = multInts( num1, num2);
printf("%d * %d=%d\n", num1, num2, answer);
system("pause");
return 0;
}
int multInts(int x, int y)
{
int result = 0;
int i;
for (i=1 ;i<=y ;i++)
{
result=result + x;
}
return result;
}
お礼
できました~。ありがとうございました。