C言語プログラミングテーマ(実用経典)6
2540 ワード
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main(){
int score;
char grade;
printf(" (0-100): ");
scanf("%d", &score);
if (score >= 90 && score <= 100){
grade = 'a';
}
else if (score < 90 && score >= 60){
grade = 'b';
}
else if (score >= 0 && score < 60){
grade = 'c';
}
else {
printf(" !
");
}
printf(" %d %c
", score, grade);
system("pause");
return 0;
}
条件演算子のネストでコード量を減らすことができます
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main(){
int score;
char grade;
printf(" (0-100): ");
scanf("%d", &score);
grade = score >= 90 ? 'a' : (score >= 60 ? 'b' : 'c');
printf(" %d %c
", score, grade);
system("pause");
return 0;
}
2つの正の整数mとnを入力して、その最大公約数と最小公倍数を求めます
#define _CRT_SECURE_NO_WARNINGS
#include
#include
// m n,
int main(){
int m, n;
int a, b;
int tmp;
printf(" : ");
scanf("%d %d", &m, &n);
if (m >= n){
a = m;
b = n;
}
else {
a = n;
b = m;
} // a, b
while (b != 0){
tmp = a % b;
a = b;
b = tmp;
}
printf(" %d
", a);
printf(" %d
", m * n / a);
system("pause");
return 0;
}
英字、スペース、数字、その他の文字の個数をそれぞれ集計する行文字を入力します.
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main(){
int letter = 0;
int space = 0;
int digit = 0;
int character = 0;
char c;
printf(" : ");
while ((c = getchar()) != '
'){
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')){
++letter;
}
else if (c == ' '){
++space;
}
else if (c >= '0' && c <= '9'){
++digit;
}
else {
++character;
}
}
printf(" :%d
", letter);
printf(" :%d
", space);
printf(" :%d
", digit);
printf(" :%d
", character);
system("pause");
return 0;
}