Hello World
#include<stdio.h>
/*
技術(shù)要點:
初學(xué)者在編寫程序時,經(jīng)常會忘記在語句后邊添加分號,
*/
int main()
{
printf("hello world");
printf("\n");//換行
return 0;
}
求和運算
/*編寫程序:計算10+20 并輸出結(jié)果
* 解題思路:
* (1)定義一個數(shù)據(jù)類型
* i 、n、sum均為整型,并為sum賦值:sum=0
* i賦值為10;n賦值為20; 將i與n求和,結(jié)果賦值給sum,最后輸出sum
*/
//引用頭文件
#include<stdio.h>
int main()
{
int i, n, sum = 0;
i = 10;
n = 20;
sum = i + n;
printf("%d\n", sum);
return 0;
}
數(shù)據(jù)的輸入
//#include<stdio.h>
//#include<stdlib.h>
//
//int main()
//{
// while (true)
// {
// system("color f5");
// int a, b, c;
// printf("這是一個加法計算器,歡迎使用\n");
// printf("-------------------------------\n");
// printf("請輸入第一個數(shù)字(按回車鍵繼續(xù)):\n");
// scanf("%d", &a);
// printf("請輸入第二個數(shù)字(按回車鍵繼續(xù)):\n");
// scanf("%d", &b);
// c = a + b;
// printf("它們的和是:\n");
// printf("%d", c);
//
//
// system("pause");
//
// }
// return 0;
//}
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
int a, b, c;
printf("歡迎使用計算器\n");
printf("請輸入第一個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &a);
printf("請輸入第二個數(shù)字(按回車鍵繼續(xù)):\n");
scanf("%d", &b);
c = a + b;
printf("它們的和為:\n");
printf("%d+%d=%d\n", a, b, c);
c = a - b;
printf("它們的差為:\n");
printf("%d-%d=%d\n", a, b, c);
c = a * b;
printf("它們的積為:\n");
printf("%d*%d=%d\n", a, b, c);
c = a / b;
printf("它們的商為:\n");
printf("%d/%d=%d\n", a, b, c);
}
system("pause");
return 0;
}
打印正方形
#include<stdio.h>
int main()
{
printf("* * * * * \n");
printf("* *\n");
printf("* *\n");
printf("* *\n");
printf("* * * * * \n");
return 0;
}
計算正方形周長
/*實例:計算正方形的周長
解題思路:
定義數(shù)據(jù)類型
變量a定義為整型,表示正方形邊長,變量b定義為整形變量,用來存儲正方形的周長;
根據(jù)正方形的周長等于邊長*4輸出周長
*/
//#include<stdio.h>//引用頭文件
//
//int main()
//{
// int a, b;
// a = 4;
// b = a * 4;
// printf("%d\n", b);
//
//
// return 0;
//}
#include<stdio.h>
int main()
{
int a, b;
a = 4;
b = a * 4;
printf("%d\n", b);
return 0;
}
打印名言
/*能否成為真的編程高手,在于是否有毅力堅持學(xué)習(xí)和練習(xí)
* 輸出名言:貴有恒,何必三更睡五更起,;最無益,只怕一日曝十日寒
*/
//引用頭文件
#include<stdio.h>
int main()
{
printf("貴有恒,何必三更睡五更起;最無益,只怕一日曝十日寒");
printf("\n");//換行
return 0;
}
三個數(shù)找最大值
/*三個數(shù)中找最大值的算法思路:
1、首先先定義四個變量a b c 分別存放從鍵盤輸入的三個數(shù) 變量d為存放最大數(shù)
2、比較a b 的大小,將最大的數(shù)賦值給d
3、在比較c d 的大小 如果c大于d 則將c的值賦值給d
4、輸出d
*/
#include<stdio.h>
#include<stdlib.h>
int main() {
while (1) //或者true
{
//定義四個變量存放鍵盤輸入的三個數(shù)合輸出最大值的數(shù)a b c d
int a, b, c, d;
//從鍵盤輸入三個數(shù)
printf("請輸入第一個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &a);
printf("請輸入第二個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &b);
printf("請輸入第三個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &c);
if (a > b)
d = a;
else
d = b;
if (c > d)
d = c;
printf("最大數(shù)為:\n");
printf("%d\n", d);
system("pause");
}
return 0;
}
////方法二
//#include<stdio.h>
//#include<stdlib.h>
//
//int main()
//{
// while (1)
// {
// //定義三個變量
// int a, b, c;
// //從鍵盤中輸入三個數(shù)
// scanf("%d\n %d\n %d\n %d\n", &a, &b, &c);
// if (a >= b && a >= c)
// printf("%d\n", a);
//
// if (b >= a && b >= c)
// printf("%d\n", b);
//
// if (c > a && c > b)
// printf("%d\n", c);
//
// system("pause");
// }
// return 0;
//}
判斷偶數(shù)
/*判斷一個數(shù)是否是偶數(shù)的算法
1、首先需要一個房子(變量)裝這個數(shù)
2、判斷這個數(shù)是不是偶數(shù)?(偶數(shù):也就是這個數(shù)除2余數(shù)為0)
*/
//#include<stdio.h>
//#include<stdlib.h>
//
//int main()
//{
// while (1)
// {
// int a;
// printf("請輸入一個數(shù):\n");
// scanf("%d", &a);
// if (a % 2 == 0)
// printf("是偶數(shù)\n");
// if (a % 2 != 0)
// printf("不是偶數(shù)\n");
//
//
//
// system("pause");
// }
// return 0;
//}
//判斷一個數(shù)是否是7的倍數(shù)的算法
//#include<stdio.h>
//#include<stdlib.h>
//
//int main()
//{
// while (1)
// {
// int a;
// printf("請輸入一個數(shù)字:\n");
// scanf("%d", &a);
// if (a % 7 == 0)
// printf("是7的倍數(shù)\n");
// if (a % 7 != 0)
// printf("不是7的倍數(shù)\n");
//
//
// system("pause");
// }
// return 0;
//}
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
int a;
printf("請輸入一個數(shù):\n");
scanf("%d", &a);
if (a % 7 == 0)
//當(dāng)條件為真時,執(zhí)行該語句
printf("是7的倍數(shù)\n");
else
////條件為假時執(zhí)行該語句
printf("不是7的倍數(shù)\n");
system("pause");
}
return 0;
}
判斷兩個數(shù)的大小
//比較兩個數(shù)的大小
/*算法思路:
1、首先定義三個數(shù)a,b,c, a,b存放鍵盤輸入的兩個數(shù) c存放a和b中最大的那個數(shù)
int a,b,c;
2、然后讀入從鍵盤輸入的兩個數(shù),分別存放到變量a和b中
scanf("%d %d",&a,&b);
3、使用if else 語句判斷a,b的大小
if (a>b) c=a;
else c=b;
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
int a, b, c;
printf("請輸入第一個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &a);
printf("請輸入第二個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &b);
if (a > b)
c = a;
else
c = b;
printf("最大數(shù)為:\n");
printf("%d", c);
system("pause");
}
return 0;
}
排序
//比較兩個數(shù)的大小
/*算法思路:
1、首先定義三個數(shù)a,b,c, a,b存放鍵盤輸入的兩個數(shù) c存放a和b中最大的那個數(shù)
int a,b,c;
2、然后讀入從鍵盤輸入的兩個數(shù),分別存放到變量a和b中
scanf("%d %d",&a,&b);
3、使用if else 語句判斷a,b的大小
if (a>b) c=a;
else c=b;
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
int a, b, c;
printf("請輸入第一個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &a);
printf("請輸入第二個數(shù)(按回車鍵繼續(xù)):\n");
scanf("%d", &b);
if (a > b)
c = a;
else
c = b;
printf("最大數(shù)為:\n");
printf("%d", c);
system("pause");
}
return 0;
}
交換兩個數(shù)的值
//#include<stdio.h>
//#include<stdlib.h>
//
//int main()
//{
// while (1)
// {
// int a, b, t;
// scanf("%d %d", &a, &b);//從鍵盤讀入兩個數(shù)
// //例如 5 6
// t = a;//先將變量a的值為5保存在變量t 此時t的值就是5
// a = b;//再將變量b的值為6賦值給a 那么a的值就變成了6
// b = t;//最后將t為5賦值給b 此時b的值就是5
// printf("%d %d\n", a, b);
//
//
//
// system("pause");
// }
// return 0;
//
//}
// 表示注釋符 作用是讓程序更具有可讀性
//在不增加其他變量的情況下交換兩個變量的值
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
int a, b;
scanf("%d %d", &a, &b);
a = b - a;
b = b - a;
a = b + a;
printf("%d %d\n", a , b);
system("pause");
}
return 0;
}
if-else語句的且套用法
/*if else 的嵌套
if (條件) 語句
else 語句
或者
if (條件) {語句塊}
嵌套語句的學(xué)法:
if (條件)
{
if(條件)
{
printf("%d",a);
}
else
{
printf("%d",b);
}
}
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義三個變量
int a, b, c;
//從鍵盤上輸入數(shù)字
scanf("%d %d %d", &a, &b,&c);// "%d %d"表示與定義的要輸入的個數(shù)有關(guān),即要輸入a b就用兩個%d &a 表示取a的地址
//判斷大小
//if (a >= b)//a>=b條件成立情況下
//{
// if (a >= c)//進(jìn)一步討論 a>=c
// {
// printf("%d", a);//兩個條件都成立 打印出最大值a
// }
// else
// {
// printf("%d", c);
// }
//}
//else //a>=b條件不成立
//{
// if (b >= c)//進(jìn)一步討論 b>=c
// {
// printf("%d", b);
// }
// else
// {
// printf("%d", c);
// }
//}
//如果if else 后面只有一條語句是可以將{}省略從而簡化代碼
if(a>=b)
{
if (a >= c)
printf("%d", a);
else
printf("%d", c);
}
else
{
if (b >= c)
printf("%d", b);
else
{
printf("%d", c);
}
}
//getchar();
system("pause");//防止閃屏 暫停
return 0;
}
while語句循環(huán)輸出
/*然后計算機(jī)重復(fù)執(zhí)行*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
//表示條件為真 該處也可以寫成 while(1>0) while(2>0) while(3>2) 只要條件為真都可以
while (1>0)
{
//調(diào)整控制臺的背景顏色 5表示背景顏色 f表示字體顏色
system("color 5f");
//執(zhí)行操作 一直打印下去不會停止
printf("0 1");
}
//防止閃屏
//getchar();
system("pause");
return 0;
}
if語句判斷正數(shù)
/*判斷正數(shù)的算法(算法:就是解決問題的方法&步驟)
1、首先計算機(jī)需要一個小房子(即變量)來存儲這個數(shù)
2、然后,需要告訴計算機(jī)這個數(shù)是什么?
3、計算機(jī)需要判斷這個數(shù)是否為正數(shù)
4、最后輸出計算機(jī)判斷的結(jié)果
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
//實現(xiàn)循環(huán)
while (1)
{
//第一步:需要定義一個小房子(變量)來存儲要判斷的這個數(shù)
int a;
//第二步:告訴計算機(jī)要輸入的這個數(shù)是什么?用scanf函數(shù)功能:在鍵盤上讀入一個數(shù)
scanf("%d", &a);
//第三步:判斷這個數(shù)是否為正數(shù)
if (a > 0)
printf("yes\n");
if (a <= 0)
printf("no\n");
//第四步:輸出結(jié)果printf函數(shù)
system("pause");
}
return 0;
}
float單精度函數(shù)(小數(shù))
#include<stdio.h>
#include<stdlib.h>
int main()
{
float a;
a = 3.1415926535897932;
printf("%.15f", a);
system("pause");
return 0;
}
double雙精度函數(shù)(小數(shù))
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("color a4");
double a;
a = 3.1415926535897932;
printf("%.15lf",a);
system("pause");
return 0;
}
char字符型函數(shù)
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("color fc");
char a;
scanf("%c", &a);
printf("你剛輸入的字符是:\n%c\n", a+1);//a+1表示輸入字符,輸出字符后面的字符
system("pause");
return 0;
}
while循環(huán)語句的正序輸出和倒序輸出
/*
**打印1-100**
#include<stdio.h>
#include<stdlib.h>//在linux系統(tǒng)下所需要的頭文件
int main()
{
//定義一個變量
int a;
//給變量賦初始值
a = 1;
//使用while控制語句開始執(zhí)行到退出循環(huán)
while (a <= 100) //條件
{
//printf("%d", a); //打印1-100
printf("wa");//條件為真執(zhí)行該步驟
a = a++;//每一次在初始值上+1
}
//或者getchar();
system("pause");
return 0;
}
*/
/*打印100-1*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義一個變量
int a;
//給變量賦初始值
a = 100; //打印1-100時初始值為1 打印100-1時初始值為100
//循環(huán)條件變?yōu)閍>=1
while (a >= 1)
{
printf("%d", a);
//每循環(huán)一次將a的值遞減1
a = a--;
}
//或者grtchar();
system("pause");
return 0;
}
打印1-100中的偶數(shù)
/*打印1-100中的偶數(shù)
思路:
要打印偶數(shù) 那就要是2的倍數(shù) 即變量a的值要從2開始 每次增加2
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義一個變量
int a;
//給變量賦初始值 根據(jù)問題條件進(jìn)行賦值
a = 2;
//循環(huán)條件
while (a <= 100)
{
printf("%d\n", a);
a = a + 2;
}
//或者getchar();
system("pause");
return 0;
}
3秒倒計時
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{
//清屏 即在打印完數(shù)字3后就把數(shù)字三清除 使用system("cls")語句放在printf()語句前
system("cls");
printf("3");
Sleep(1000);// 等待1000毫秒也就是1秒 需要加<Windows.h>頭文件
system("cls");
printf("2");
Sleep(1000);
system("cls");
printf("1");
Sleep(1000);
system("cls");
printf("0\n");
//防止閃退
system("pause");
return 0;
}
60秒倒計時
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{
//定義一個變量a來存儲60個數(shù)字
int a;
//為變量賦一個初始值
a = 60;
//使用while循環(huán)來判斷
while (a >= 0)
{
//清屏
system("cls");
printf("%d", a);
Sleep(1000);
a = a-1;//每循環(huán)一次就減1
}
如果要從60開始倒計時,只需將變量的初始值改為60就可以
2:00鐘倒計時
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{
//1.定義一個變量
int m;
//2.給變量賦初始值
m = 120;
//3.使用while循環(huán)判斷
while (m >= 0)
{
//清屏
system("cls");
//4.打印
printf("\r%d:%.2d", m / 60, m % 60);
m = m - 1;
//睡眠1秒
Sleep(1000);
}
system("pause");
return 0;
}
%d:即為普通的輸出 \r:表示回車
%2d:按寬度為2輸出,右對齊方式輸出。若不夠兩位,左邊補(bǔ)空格
%02d:同樣寬度為2,右對齊方式。位數(shù)不夠,左邊補(bǔ)0
%.2d:從執(zhí)行效果來看,與%02d一樣
循環(huán)嵌套打印***
方法 一
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義一個變量
int a;
//為變量賦初始值
a = 1;
//while循環(huán)判斷
while (a <= 15)//總的要打印出15顆*
{
printf("*");
if (a % 5 == 0)//第一行打印出5顆*時
printf("\n"); //換行到第二行打印
a = a + 1;//每循環(huán)一次加一顆*
}
system("pause");
return 0;
}
方法 二
#include<stdio.h>
#include<stdlib.h>
int main()
{
//1.定義行 與 輸出* 變量
int a,b;
//為行號變量賦初始值
a = 1;
//while循環(huán)
while (a <= 3) //while a循環(huán)用來控制換行 即只打印三行
{
printf("\n");
a = a + 1;
//為輸出的*變量賦初始值
b = 1;
//while循環(huán)判斷
while (b <= 5) // while b循環(huán)用來控制輸出每行5顆*
{
printf("*");
b = b + 1;
}
}
system("pause");
return 0;
}
在上面代碼中有兩個while循環(huán),一個是外循環(huán),另一個是內(nèi)循環(huán),內(nèi)循環(huán)嵌套在外循環(huán)中,內(nèi)循環(huán)就是外循環(huán)的一部分,外循環(huán)每循環(huán)一次,內(nèi)循環(huán)就會從頭到尾循環(huán)一次;其中用來控制外循環(huán)的循環(huán)次數(shù)的變量是a;用來控制內(nèi)循環(huán)循環(huán)次數(shù)的是變量b
每行打印不同*號
只需要改變while b循環(huán)中的值,將while b中的條件改成外循環(huán)的條件即可
#include<stdio.h>
#include<stdlib.h>
int main()
{
//1.定義行 與 輸出* 變量
int a,b;
//為行號變量賦初始值
a = 0;
//while循環(huán)
while (a <= 5) //while a循環(huán)用來控制換行 即只打印三行
{
printf("\n");
a = a + 1;
//為輸出的*變量賦初始值
b = 1;
//while循環(huán)判斷
while (b <= a) // while b循環(huán)用來控制輸出每行5顆*
{
printf("*");
b = b + 1;
}
}
system("pause");
return 0;
}
奔跑的字母
方法1
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main()
{
//定義一個變量
int a;
//清除屏幕
system("cls");
//打印
printf("H");
//暫停
Sleep(1000);//需要添加<windows.h>頭文件
system("cls");
printf(" H");
Sleep(1000);
system("cls");
printf(" H");
Sleep(1000);
system("pause");
return 0;
}
方法2
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{
//定義兩個變量a b
int a, b;
//首先a的初始值為0
a = 0;
//a<=100 即字母H走多少步 進(jìn)入外循環(huán)
while (a <= 100)
{
//清屏
system("cls");
//b的初始值賦值為1
b = 1;
/*判斷a b之間的關(guān)系是否成立 b <= a不成立(此時a為0 b為1), 不進(jìn)入內(nèi)循環(huán),
不會打印空格 而是打印字母 H
*/
while (b <= a)
{
printf(" ");
b = b + 1;
}
//打印外循環(huán)結(jié)果
printf("H");
//暫停1秒
Sleep(1000);
//a 從0 變?yōu)?1
a = a + 1;
}
system("pause");
return 0;
}
代碼解釋
首先a的初始值為0 a<=2成立,進(jìn)入外循環(huán)
清屏
b的初始值被賦為1
b<=a不成立(此時a為0,b為1),不進(jìn)入內(nèi)循環(huán),不會打印空格打印字母H暫停1秒
a=a+1(a從o變?yōu)?)
外循環(huán)末尾,跳轉(zhuǎn)到外循環(huán)的開始部分,重新判斷a<=2是否成立 a<=2成立(此時a為1),繼續(xù)進(jìn)入外循環(huán)
清屏
b的初始值被賦為1
b<=a成立(此時a為1,b為1),進(jìn)入內(nèi)循環(huán)
打印空格
b=b+1(b從1變?yōu)?)
內(nèi)循環(huán)末尾,跳轉(zhuǎn)到內(nèi)循環(huán)的開始部分,重新判斷b<-a 是否成立發(fā)現(xiàn)此時b<=a不成立,(此時a為1,b為2),退出內(nèi)循環(huán)打印字母H暫停1秒
a=a+1(a從1變?yōu)?)
外循環(huán)末尾,跳轉(zhuǎn)到外循環(huán)的開始部分,重新判斷a<=2是否成立 a<=2成立(此時a為2),繼續(xù)進(jìn)入外循環(huán):
清屏幕
b的初始值被賦為1
b<=a成立(此時a為2,b為1),進(jìn)入內(nèi)循環(huán)
打印空格
b=b+1(b從1變?yōu)?)
內(nèi)循環(huán)末尾,跳轉(zhuǎn)到內(nèi)循環(huán)的開始部分,重新判斷 b<=a 是否成立此時b<=a成立,(此時a為2,b為2),再次進(jìn)入內(nèi)循環(huán)
打印空格
b=b+1(b從2變?yōu)?)
內(nèi)循環(huán)末尾,跳轉(zhuǎn)到內(nèi)循環(huán)的開始部分,重新判斷b<=a 是否成立發(fā)現(xiàn)此時b<=a不成立,(此時a為2,b為3),退出內(nèi)循環(huán)打印字母H暫停1秒
a = a + 1 (a從2變成3)
外循環(huán)末尾跳轉(zhuǎn)外循環(huán)的開始部分,重新判斷a <= 100 是否成立
此時a <= 100 不成立 此時a 為101 退出循環(huán)
循環(huán)多少次問題
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b;
a = 1;
while (a <= 2)
{
b = 1;
while (b <= 3)
{
printf("ok");
b = b + 1;
}
a = a + 1;
}
system("pause");
return 0;
}
/*while a 和 while b 循環(huán) 當(dāng)while a 循環(huán)一次 while b 就會從頭到尾循環(huán)3次 所以循環(huán)次數(shù)
為 2*3=6
*/
奔跑的小人
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int main()
{
int a, b;
a = 0;
//設(shè)置循環(huán)條件
while (a <= 800)
{
//清屏操作
system("cls");
b = 1;
while (b <= a)
{
printf(" ");
b = b + 1;
}
//外循環(huán)
printf(" O\n");
//內(nèi)循環(huán)
b = 1;
while (b <= a)
{
printf(" ");
b = b + 1;
}
//外循環(huán)
printf("<H>\n");
b = 1;
//內(nèi)循環(huán)
while (b <= a)
{
printf(" ");
b = b + 1;
}
//外循環(huán)
printf("I I\n");
Sleep(1000);
a = a + 1;
}
system("pause");
return 0;
}
//外循環(huán)控制小人移動的速度 內(nèi)循環(huán)控制小人移動的距離
while循環(huán)與for循環(huán)
while循環(huán)的寫法
int main()
{
//1.定義變量
int a;
//2.為變量賦初始值
a = 1;
//設(shè)置判斷條件
while(a <= 10)
{
//輸出結(jié)果
printf("%d",a);
//3.每循環(huán)一次就加1
a = a + 1; //或者 a = a++;
}
}
for循環(huán)寫法
int main()
{
//定義變量
int a;
//for循環(huán)
for(a = 1; a <= 10; a = a + 1)//a=a+1 可以簡寫成 a = a++;
{
//輸出結(jié)果
printf("%d",a);
}
}
判斷質(zhì)數(shù)
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
//定義變量來存儲待判斷的數(shù) a為待判斷的數(shù)
int a, i, f;
//f表示求余為零但是結(jié)果不為零 例如 5 % 4 == 0 定義了變量 f = 0 結(jié)果不為0
f = 0;
//從鍵盤讀入一個數(shù)
printf("請輸入一個數(shù):\n");
scanf("%d", &a);
//for循環(huán)2
for (i = 2; i <= a - 1; i++)
{
if (a % i == 0)
f = 1;
//求出該數(shù)的約數(shù)
printf("%d\n", i);
}
if (f == 0)
printf("是質(zhì)數(shù)\n");
else
printf("是合數(shù)\n");
system("pause");
}
return 0;
}
水仙花數(shù)
/*題目分析:(三位數(shù)為例)
既然是三位數(shù),那么這三位數(shù)必然是100-999中的數(shù),這個數(shù)的百位數(shù)上只可能是1-9
十位數(shù)上只可能是0-9 各位是上只可能是0-9
那么就可以使用三層嵌套循環(huán)來求解
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義百位 十位 各位 上的數(shù)
int i,j ,k ;
//第一層循環(huán)找出百位上的數(shù)
for (i = 1; i <= 9; i++)
{
//第二層循環(huán)找出十位上的數(shù)
for (j = 0; j <= 9; j++)
{
//第三層循環(huán)找出各位上的數(shù)
for (k = 0; k <= 9; k++)
{
//判斷100-999中的水仙花數(shù)有哪些
if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k)
{
printf("水仙花數(shù)為:\n");
printf("%d\n", i * 100 + j * 10 + k);
}
}
}
}
//以上代碼是打印出100-999的數(shù)
system("pause");
return 0;
}
將一個三位數(shù)分開
//將一個三位數(shù)分開
#include<stdio.h>
#include<stdlib.h>
int main()
{
int x, a, b, c;
x = 123;
a = x / 100;
b = x / 10%10;
c = x % 10;
printf("%d %d %d", a, b, c);
system("pause");
return 0;
}
求一個三位數(shù)的百 位 十位 個位數(shù)之和
//求一個三位數(shù)中 百位 十位 個位數(shù)的和
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
//定義一個三位數(shù) 百位 十位 個位
int k, bai, shi, ge;
//指引輸入
printf("請輸入一個三位數(shù):\n");
//從鍵盤上讀取三位數(shù)
scanf("%d", &k);
bai = k / 100;
shi = k / 10 % 10;
ge = k % 10;
printf("這個三位數(shù)的和為:\n%d\n", bai + shi + ge);
system("pause");
}
return 0;
}
數(shù)學(xué)奧數(shù)問題
/*在兩個方框內(nèi)填入相同的數(shù)字使得兩邊的等式相等
□3×6528=3□×6528
解題思路:
框內(nèi)所填的必然是1-9中的某個數(shù)
使用一次循環(huán),讓變量i從1到9循環(huán)然后每次循環(huán)只需要判斷一下當(dāng)前i的值是否符合條件
如果符合輸出結(jié)果
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義循環(huán)變量i
int i;
//for語句執(zhí)行1-9循環(huán)
for (i = 1; i <= 9; i++)
{
//假設(shè)等式兩邊成立
if ((i * 10 + 3) * 6528 == (30 + i) * 6528)
printf("這個數(shù)是:%d\n", i);
}
system("pause");
return 0;
}
數(shù)學(xué)奧數(shù)問題1
/* 問題:在算式中,A,B,C,D,E分別代表五個互不相同的整數(shù),請為A,B,C,D,E分別為多少時算式成立
ABCD
× E
____
DCBA
解題思路:A,B,C,D,E的取值范圍只能是0-9.因此使用5次循環(huán)就可以解決問題
*/
#include<stdio.h>
#include<stdlib.h>
//int main(int argc, char**argv // char*argv[])//標(biāo)準(zhǔn)的C語言main函數(shù)的寫法
int main()
{
int a, b, c, d, e;
for (a = 0; a <= 9; a++)
{
for (b = 0; b <= 9; b++)
{
for (c = 0; c <= 9; c++)
{
for (d = 0; d <= 9; d++)
{
for (e = 0; e <= 9; e++)
{
//判斷a,b,c,d,e之間的關(guān)系
if (a != b && a != c && a != d && a != e && b != c && b != d && b != e
&& c != d && c != e && d != e)
{
//判斷等式兩邊的關(guān)系
if ((a * 1000 + b * 100 + c * 10 + d) * e == (d * 1000 + c * 100 + b * 10 + a))
{
printf("%d%d%d%d\n", a, b, c, d);
printf("* %d\n", e);
printf("------\n");
printf("%d%d%d%d\n", d, c, b, a);
}
}
}
}
}
}
}
system("pause");
return 0;
}
隨機(jī)數(shù)的生成
//1.首先讓計算機(jī)隨機(jī)的產(chǎn)生一個數(shù)
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main()
{
while (1)
{
//定義一個隨機(jī)數(shù)
int a;
//設(shè)置隨機(jī)數(shù)種子
srand((unsigned) time(NULL));
a = rand();//rand()是隨機(jī)數(shù)函數(shù)
printf("%d", a);
system("pause");
}
return 0;
}
猜數(shù)字游戲
//1.首先讓計算機(jī)隨機(jī)的產(chǎn)生一個數(shù)
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main()
{
//定義一個隨機(jī)數(shù)和從鍵盤讀取的數(shù)
int a, b;
//設(shè)置隨機(jī)數(shù)種子
srand((unsigned)time(NULL));
//隨機(jī)產(chǎn)生0-99中的整數(shù)
a = rand() % 100;
while (1)
{
//從假盤讀取一個數(shù)
printf("請輸入一個數(shù):\n");
scanf("%d", &b);
//判斷你輸入的數(shù)與隨機(jī)數(shù)的關(guān)系 存在三種可能 1.大了 2.小了 3.等于
if (b > a)
printf("不好意思!數(shù)字大了?!請繼續(xù)...\n");
if (b < a)
printf("不好意思!數(shù)字小了!請繼續(xù)...\n");
if (b == a)
{
printf("恭喜您?答對了啦?你太棒了好?\n");
}
system("pause");
}
return 0;
}
自動關(guān)機(jī)程序
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("shutdown -s -t 50");
system("pause");
return 0;
}
強(qiáng)化版自動關(guān)機(jī)程序
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
//定義系統(tǒng)隨機(jī)數(shù)a,鍵盤輸入b,輸入次數(shù)sum
int a, b, sum;
//執(zhí)行總次數(shù)為6次
sum = 6;
//設(shè)置隨機(jī)數(shù)種子
srand((unsigned)time(NULL));
//調(diào)用隨機(jī)數(shù)函數(shù) 系統(tǒng)隨機(jī)數(shù)的范圍在0-100
a = rand()%100;
while (1)
{
sum--;
//從鍵盤讀取一個數(shù)
printf("請輸入一個數(shù):\n");
scanf("%d", &b);
//判斷
if (b > a)
printf("數(shù)字大了!你還剩余%d次機(jī)會!請繼續(xù)...\n");
if (b < a)
printf("數(shù)字小了!你還剩余%d次機(jī)會!請繼續(xù)...\n");
if (b == a)
{
printf("恭喜你!答對了!\n");
//退出循環(huán)
break;
}
if (sum == 0)
{
printf("沒機(jī)會了系統(tǒng)將在50秒后自動關(guān)機(jī)\n");
//系統(tǒng)自動關(guān)機(jī)指令 -s表示關(guān)機(jī) -r表示重啟 -t 50表示50秒后關(guān)機(jī)
system("shutdown -s -t 50");
//取消關(guān)機(jī)指令system("shutdown -a");
//退出循環(huán)
break;
}
}
system("pause");
return 0;
}
逆序輸出
/*從鍵盤讀取數(shù)字,輸出是逆序 例如:輸入的數(shù)字是:12345 輸出的數(shù)字是:54321*/
//方法一:最簡單的方法
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義變量
int a, b, c, d, e;
//從鍵盤輸入
printf("請輸入:\n");
scanf("%d %d %d %d %d", &a, &b, &c, &d, &e);
//直接輸出
printf("%d %d %d %d %d\n", e, d, c, b, a);
system("pause");
return 0;
}
逆序輸出多個變量
#include<stdio.h>
#include<stdlib.h>
int main()
{
//定義變量和數(shù)組 用數(shù)組來存放這10個變量 要是申請更多的變量只需要將a[]z中的值改變即可
int a[10],i;
//將這10個數(shù)存放到a[0]-a[9]中
for (i = 0; i <= 9; i++)
{
//根據(jù)自己要打印的公式來定
a[i] = i * i;
}
//使用for循環(huán)打印出來
for (i = 0; i <= 9; i++)
{
printf(" %d", a[i]);
}
system("pause");
return 0;
}
數(shù)組解決100個數(shù)的逆序
#include<stdio.h>
#include<stdlib.h>
int main()
{
//int a[5];
////鍵盤讀取
//scanf("%d", &a[0]);
//scanf("%d", &a[1]);
//scanf("%d", &a[2]);
//scanf("%d", a[3]);
//scanf("%d", a[4]);
//使用for循環(huán)簡化代碼
int a[5], i;
//正序輸入
printf("請輸入:\n");
for (i = 0; i <= 4; i++)
{
//鍵盤讀取數(shù)字
scanf(" %d", &a[i]);
}
//逆序輸出 只需將i=0;i<=4;i++ 改為 i = 4; i>=0;i--即可
for (i = 4; i >= 0; i--)
{
printf(" %d", a[i]);
}
system("pause");
return 0;
}
數(shù)組解決陶陶摘蘋果問題
#include<stdio.h>
#include<stdlib.h>
int main()
{
while (1)
{
//定義一個數(shù)組a[10]存儲蘋果到地面的距離的個數(shù) h為身高 sum為摘到蘋果的數(shù)量
int a[10], h, sum, i;
//從鍵盤隨機(jī)輸入100-200之間的數(shù)表示蘋果到地面的距離和人的身高
//輸入蘋果到地面的距離
printf("請輸入蘋果到地面的距離:\n");
for (i = 0; i <= 9; i++)
{
scanf("%d", &a[i]);
}
printf("請輸入身高:\n");
scanf("%d", &h);
sum = 0;
//輸出結(jié)果
for (i = 0; i <= 9; i++)
{
//如果蘋果到地面的距離小于等于人物的身高加上凳子的高度 那么就摘到蘋果
if (a[i] <= h + 30)
sum++;
}
//輸出蘋果的總數(shù)
printf("摘到了%d個蘋果\n", sum);
system("pause");
}
return 0;
}
浙公網(wǎng)安備 33010602011771號