1.7プログラミング基礎の文字列:06合法C識別子
1886 ワード
合計時間制限:
1000ms
メモリの制限:
65536kB
説明
空白文字を含まない文字列を指定して、C言語の合法的な識別記号かどうかを判断してください(注:テーマはこれらの文字列が必ずC言語の保留字ではないことを保証します).
C言語識別子要求:
1.非予約語
2.アルファベット、数値およびアンダースコアのみを含む("").
3.数字で始まることはありません.
入力
空白の文字が含まれず、20未満の長さの文字列を含む行.
しゅつりょく
C言語の正当な識別子である場合はyesを出力し、そうでない場合はnoを出力します.
サンプル入力
サンプル出力
ソース
北京大学計算概論06心理及び信管期末試験
これを見て、私はとても驚いて、良い水の1つの問題!
そして最初からそう
提出が間違っていることに気づいた!
ずっとチェックしていたが、気づかなかった.
私は以前配列の中の[1番要素を使うのが好きだったのでstrlen(a)を使っていたのですが、今回使った配列[0]が装着され始め、最後まで運行していたときに'0'まで運行していたので、間違っていました...
次は正しい答えを貼ります.
これからも注意して、配列の大きさに注意しましょう.の
1000ms
メモリの制限:
65536kB
説明
空白文字を含まない文字列を指定して、C言語の合法的な識別記号かどうかを判断してください(注:テーマはこれらの文字列が必ずC言語の保留字ではないことを保証します).
C言語識別子要求:
1.非予約語
2.アルファベット、数値およびアンダースコアのみを含む("").
3.数字で始まることはありません.
入力
空白の文字が含まれず、20未満の長さの文字列を含む行.
しゅつりょく
C言語の正当な識別子である場合はyesを出力し、そうでない場合はnoを出力します.
サンプル入力
RKPEGX9R;TWyYcp
サンプル出力
no
ソース
北京大学計算概論06心理及び信管期末試験
これを見て、私はとても驚いて、良い水の1つの問題!
そして最初からそう
#include
#include
char a[25];
int main()
{
gets(a);
if(((a[0]>='a'&&a[0]<='z')||(a[0]'Z')||a[0]=='_')&&((a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||a[i]=='_'))
{
printf("yes");
return 0;
}
printf("no");
return 0;
}
提出が間違っていることに気づいた!
ずっとチェックしていたが、気づかなかった.
for(unsigned int i=0;i<=strlen(a);i++)
ここ!私は以前配列の中の[1番要素を使うのが好きだったのでstrlen(a)を使っていたのですが、今回使った配列[0]が装着され始め、最後まで運行していたときに'0'まで運行していたので、間違っていました...
次は正しい答えを貼ります.
#include
#include
char a[25];
int main()
{
gets(a);
for(unsigned int i=0;i<=strlen(a)-1;i++)
if(((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||a[0]=='_')&&((a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||a[i]=='_'));
else
{
printf("no");
return 0;
}
printf("yes");
return 0;
}
これからも注意して、配列の大きさに注意しましょう.の