第1關:乘法表
本關任務:輸出n * n乘法表
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
printf("%d*%d=%d ", i, j, i * j);
if (j == n)printf("\n");
}
}
return 0;
}
第2關:乘法表(下三角)
本關任務:編寫一個小程序,輸出乘法表下三角的前n行
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
printf("%d*%d=%d ", i, j, i * j);
if (j==i) {
printf("\n");
break;
}
}
}
return 0;
}
法二
#include <stdio.h>
int main()
{
//****補全代碼****
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%d ",i,j,i*j);
printf("\n");
}
return 0;
}
第3關:n錢買n雞
本關任務:編寫一個小程序,求n錢買n雞一共有多少種買法。 已知公雞5元一只,母雞3元一只,小雞一元3只。現在有n元,想買n只雞,求有多少種買法。每種雞可以買若干只,也可以不買
#include <stdio.h>
int main()
{
int i, j, k, n;
int sum = 0;
scanf("%d", &n);
for (i = 0; i <= 100; i++) //i和j范圍可以依題目不同而不同,減少運行時間
for (j = 0; j <= 100; j++)
{
if (5 * i + 3 * j + (n - i - j) / 3 == n && (n - i - j) % 3 == 0)
{
sum = sum + 1;
}
}
printf("%d", sum);
return 0;
}
第4關:輸出三角形
本關任務:編寫小程序,輸出邊長為n的三角形
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n - i - 1; j++) //先打空格
printf(" ");
for (int j = n - i - 1; j < n + i; j++) //從空格結束時打+,數量為2*i+1
printf("+");
printf("\n");
}
return 0;
}
第5關:輸出空心三角形
本關任務:編寫一個小程序,輸出邊長為n的空心三角形。
#include <stdio.h>
int main()
{
int n, i, m, j;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (m = 1; m <= n - i; m++)
{
printf(" ");
}
if (i > 1)
{
printf("+");
for (j = 1; j < 2 * (i - 1); j++)
{
if (i < n)
printf(" ");
else
printf("+");
}
}
printf("+\n");
}
return 0;
}
第6關:求水仙花數個數
輸入兩個三位正整數m和n,求[m,n]范圍內有多少個水仙花數
#include <stdio.h>
int main()
{
int i, n, a, b, sum = 0, x, y, z;
scanf("%d%d", &a, &b);
for (i = a; i <= b; i++)
{
x = i / 100;
y = i / 10 % 10;
z = i % 10;
if (i == x * x * x + y * y * y + z * z * z)
sum = sum + 1;
}
printf("%d", sum);
return 0;
}
第7關:判斷素數
求是否存在[m,n]范圍內的整數x,使得x²+x+41是合數。一個正整數a是合數,如果存在另一個正整數b能整除a,且b\=1,b\=a.例如6是合數,因為2能整除6
#include <stdio.h>
int main()
{
int m, n, a, b, c;
scanf("%d%d", &m, &n);
for (a = m; a <= n; a++)
{
b = a * a + a + 41;
for (int i = 2; i < b; i++)
{
if (b % i == 0)
c++;
}
}
if (c != 0)
printf("yes");
else
printf("no");
return 0;
}