前提・実現したいこと
vscodeでc言語でプログラミングを書いているのですが、たまに
int a,b,c;やdouble a,b,c;でやったときに、いつもならa,b,cに水色で色がつくのですが、
たまに色がつかずにエラーが出てしまいます。
どうしても解決方法がわからないので、教えていただけるとありがたいです
発生している問題・エラーメッセージ
int a,b,c;
if(a>0)
などで、普段ならa,b,cに色がつくが色がつかなくなってしまうことがある。
いまつくっているのは、
- 任意の2つ以上の文字列を入力し,それらの文字列に
同一の文字が含まれる場合はそれら同一の文字をすべ
て出力し,同一の文字がなければ0を出力するプログ
ラムを作成せよ
2. 2次元座標上に定義される任意の座標を3つ以上入力し,
各座標と原点(0, 0)とを結ぶ直線の長さおよび直線が
なす角を算出せよ.また長さおよび角度それぞれにつ
いて最大値と,それがどの座標かも出力せよ
です。
該当のソースコード
c言語
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void sample4_1()
{
char stir1[200],stir2[200],a[200];
int j,t,i,l;
printf("任意の2つ以上の文字列を入力してください");
scanf("%s",stir1);
scanf("%s",stir2);
i=0; t=0; l=0; while(stir1[i]){ j=0; while(stir2[j]){ if(stir1[i]==stir2[j]){ a[t]=stir1[i]; l++; } j++; } t++; i++; }
if(l=0)
printf("0");
else
{
printf("重複した文字列は%sです。",a);
}
double dist (double b,double c)
{
return sqrt(bb+cc)
}
void sample4_2()
{
double b,c,d,e,f,g,h,m,n,max1,max2;
printf("任意の座標を3つ入力してください。");
printf("座標1のX座標;") scanf("%lf",&b);
printf("座標1のY座標;") scanf("%lf",&c);
printf("座標2のX座標;") scanf("%lf",&d);
printf("座標2のY座標;") scanf("%lf",&e);
printf("座標3のX座標;") scanf("%lf",&f);
printf("座標3のY座標;") scanf("%lf",&g);
printf("座標1から原点の長さは%fです",dist(b,c));
printf("座標2から原点の長さは%fです",dist(d,e));
printf("座標3から原点の長さは%fです",dist(f,g));
max1=dist(b,c);
if(max1<dist(d,e))
max1=dist(d,e);
else if(max1<dist(f,g))
max1=dist(f,g);
printf("長さの最大値は%fです。",max1);
h=c/dist(b,c);
m=e/dist(d,e):
n=g/dist(f,g);
printf("座標1となす角度は%dです",asin(h));
printf("座標2となす角度は%dです",asin(m));
printf("座標3となす角度は%dです",asin(n));
max2=asin(h);
if(max2<asin(m))
max2=asin(m);
else if(max2<asin(n))
max2=asin(n);
printf("角度の最大値は%fです。",max2);
}
int main(void)
{
int num;
do{
printf("課題番号を入力してください。"); scanf("%d", &num);
printf("\n");
switch(num) {
case 1:
sample4_1(); break;
case 2:
sample4_2(); break;
default: printf("1か2を入力してください"); break; } printf("\n"); } while(num >=1 && num <= 3); system("pause"); return 0;
}
試したこと
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー