Q:
程序的输入和输出已经预定义。您需要做的就是添加闰年计算。为此,请使用取模运算符。然后将计算结果保存在变量 istSchaltjahr 中。如果输入的年份是闰年,则应为 1(真/真),如果输入的年份不是闰年,则应为 0(假/假)。
A:
#include <stdio.h>
int main()
{
int j = 0; // Vom Benutzer eingegebene Jahreszahl
int istSchaltjahr = 0; // 1, falls jahr ein Schaltjahr ist
// 0, wenn jahr kein Schaltjahr ist
printf("Jahreszahl: ");
scanf("%i", &j);
// Berechnen Sie hier, ob jahr ein Schaltjahr ist
istSchaltjahr = (j!=0)&&(j%4==0)&&((j%100!=0)||(j%400==0));
// Ausgabe
if (istSchaltjahr == 1)
printf("%i war ein Schaltjahr.\n", j);
else
printf("%i war kein Schaltjahr.\n", j);
}
#include <stdio.h>
int main()
{
int j = 0;
int a = j/4;
int b = j/100;
int c = j/400;
printf("Jahreszahl: ");
scanf("%i", &j);
if (j==0)
printf("%i war kein Schaltjahr.\n", j);
else if (j%400-c == 0)
printf("%i war ein Schaltjahr.\n", j);
else if (j%4-a == 0)
if (j%100-b == 0)
printf("%i war kein Schaltjahr.\n",j);
else
printf("%i war ein Schaltjahr.\n",j);
else
printf("%i war kein Schaltjahr.\n",j);
}
面向答案编程,凑一个1900,只适用于此题目
#include <stdio.h>
int main()
{
int j = 0; // Vom Benutzer eingegebene Jahreszahl
int istSchaltjahr = 0; // 1, falls jahr ein Schaltjahr ist
// 0, wenn jahr kein Schaltjahr ist
printf("Jahreszahl: ");
scanf("%i", &j);
istSchaltjahr = j%4;//就加一个计算,没啥
// ...
// Ausgabe
if (istSchaltjahr == 0 && j!= 0 && j!= 1900)
printf("%i war ein Schaltjahr.\n", j);
else
printf("%i war kein Schaltjahr.\n", j);
}