******小小目錄******
一、大小寫轉換
二、從尾到頭
三、冰雹猜想
四、水仙花數
五、百錢百雞
六、九九乘法表
一、大小寫轉換
分析:在ASCII碼表中,26個英文字母的ASCII碼值相差32(小寫字母比對應的大寫字母大32),當從鍵盤輸入大寫字母時,在輸出時加上32,并且以%C格式輸出,就能轉換為小寫,
代碼實作:
#include <stdio.h>
int main()
{
char c;
printf("輸入一個字母:");
scanf("%c",&c);
if(c>='A'&&c<='Z')
{
c=c+32;
printf("%c\n",c);
}
else if(c>='a'&&c<='z')
{
c=c-32;
printf("%c\n",c);
}
return 0;
}
運行截圖:

二、從尾到頭
描述:從鍵盤輸入一個三位的整數num,將其個、十、百位倒序生成一個數字輸出,例如:若輸入123,則輸出321,
分析:個位:對10取模;
十位:除以10之后對10取模
百位:除以100
代碼實作:
#include <stdio.h>
int main()
{
int num;
int a, b, c;
printf("請輸入一個整數:\n");
scanf_s("%d", &num);
a = num % 10;
b = num/10 % 10;
c = num /100;
printf("%d\n", 100 * a + 10 * b + c);
return 0;
}
運行截圖:
三、冰雹猜想
描述:以一個正整數n為例,如果n為偶數,就將它變為n/2;如果除后變為奇數則乘以3再加1,將得到的新自然數按照此規則計算,若干次后得到的結果必然為1,
分析:
(1)先定義一個整型變數n來存數字,然后再定義一個整型變數count作為計數器,輸出數字時顯示在數字前作為序號;
(2)從鍵盤接收一個自然數后直接進入do…while回圈;
(3)根據奇偶性不同,執行不同操作,當n=1時退出回圈;
(4)當n為奇數時,把n乘以3再加1;當n為偶數時,把n除以2,
代碼實作:
#include <stdio.h>
int main()
{
int n;
int count = 1;
printf("please input a number:");
scanf_s("%d", &n);
do {
if (n % 2)
{
n = n * 3 + 1;
printf("(%d):%d\n", count++, n);
}
else
{
n /= 2;
printf("(%d):%d\n", count++, n);
}
} while (n != 1);
return 0;
}
運行截圖:

四、水仙花數
描述:水仙花數就是一個三位數,它每一位數字的3次冪之和都等于它本身,
分析:
(1)確定取值范圍是100到999,控制取值范圍用for回圈結構陳述句;
(2)將個位、十位、百位拆分,求各位數字的立方和;
(3)求出各位數字的立方和,判斷它與數本身是否相等,若相等,則此數是水仙花數,否則不是水仙花數,
代碼實作:
#include <stdio.h>
int main()
{
int num;
int a, b, c;
printf("水仙花數:\n");
for (num = 100; num <= 999; num++)
{
a = num % 10;
b = num / 10 % 10;
c = num / 100;
if (num == (a * a * a + b * b * b + c * c * c))
printf("%d ", num);
}
printf("\n");
return 0;
}
運行截圖:
五、百錢百雞
描述:一只公雞值五錢,一只母雞值三錢,三只小雞值一錢,現在要用百錢買百雞,請問公雞、母雞、小雞各多少只?
分析:
(1)先定義三個整型變數,分別用來存盤公雞,母雞和小雞;
(2)第一層for回圈控制公雞的數量,第二層for回圈控制母雞的數量,第三層for回圈控制小雞的數量;
(3)根據三層回圈篩選合理方案,即滿足“cock+hen+chicken=100"和”5cock+3hen+chicken/3=100"的方案,
代碼實作:
#include <stdio.h>
int main()
{
int cock, hen, chicken;
for(cock=0;cock<=20;cock++)
for(hen=0;hen<=30;hen++)
for (chicken = 0; chicken <= 100; chicken++)
{
if ((5 * cock + 3 * hen + chicken / 3.0 == 100) && (cock + hen + chicken == 100))
printf("cock=%2d,hen=%2d,chicken=%2d\n", cock, hen, chicken);
}
return 0;
}
運行截圖:
六、九九乘法表
分析:
(1)定義整型變數i來控制函式的輸出,定義整型變數j控制等式數量的輸出;
(2)第一個for回圈用來控制乘法表中每行的第一個因子和表的行數,很明顯i取值范圍為1到9;
(3)第二個for回圈中變數j取值范圍的確定建立在第一個for回圈的基礎上,它的最大取值是第一個for回圈中變數的值,(j的取值范圍根據行數變化,運行到第幾行,j的最大值就是幾;
(4)為了控制格式,將乘法表分行,需要在每行的末尾輸出一個換行符,
代碼實作:
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
printf("%d*%d=%d ", i, j, i * j);
printf("\n");
}
return 0;
}
運行截圖:
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/287428.html
標籤:其他
下一篇:Unity零基礎到進階 ??| 近萬字教程 對 Unity 中的 影片系統基礎 全面決議+實戰演練,你確定要錯過嗎?
