练习 ----写代码将3个数按从大到小输出
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main()
{
int a = 3;
int b = 1;
int c = 2;
int tmp = 0;
scanf("%d%d%d", &a, &b, &c);
printf("请输入要比较的3个数字:");
if (a < b)
{
tmp = b;
b = a;
a = tmp;
}
if (a < c)
{
tmp = c;
c = a;
a = tmp;
}
if (b < c)
{
tmp = b;
b = c;
c = tmp;
}
printf("%d %d %d", a, b, c);
return 0;
}
课外练习 比较两个数组大小
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[10] = { 0 };
char arr2[10] = { 0 };
int i = 0;
printf("请输入两个要比较的数字:");
scanf("%s %s", &arr1, &arr2);
int a_len = strlen(arr1);
int b_len = strlen(arr2);
if (a_len == b_len)//如果长度相等,则开始判断大小
{
for (i = 0; i <= a_len; i++) //遍历数组下标值
{
if (arr1[i] == arr2[i])
{
/* printf("%c,%c两个数值一样大!",arr1,arr2);*/
printf("%c\n", arr1);
break;
}
else if (arr1[i] > arr2[i])
{
printf("比较大!", arr1);
break;
}
else
{
printf("比较大!", arr2);
break;
}
}
}
else if (a_len > b_len)
{
printf("比较大!", arr1);
}
else
{
printf("比较大!", arr2);
}
return 0;
}
练习
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
for (a = 1, b = 1; a <= 100; a++)
{
if (b >= 20)
break;
if (b % 3 == 1)
{
printf("b=%d \n", b);
b = b + 3;
printf("b+3=%d \n", b);
continue;
}
b = b - 5;
printf("b-5=%d \n", b);
}
printf("%d\n", a); //8
return 0;
}
练习:写一个代码打印1-100之间所有3的倍数的数字
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 100; i++)
{
if (i%3 == 0)
{
printf("%d ", i);
}
}
return 0;
}
练习:给定两个数,求这两个数的最大公约数,代码1 辗转相除法
#include <stdio.h>
int main()
{
int a = 20;
int b = 30;
int i = 0;
while (i = a%b)
{
a = b;
b = i;
}
printf("%d ", i);
return 0;
}
练习:给定两个数,求这两个数的最大公约数,代码2 最大最小算法
#include <stdio.h>
int main()
{
int a = 9;
int b = 15;
int tmp = 0;
int tmp2 = 0;
int i = 0;
if (a < b)
tmp = a;
else
tmp = b;
for (i = 1; i<=tmp; i++)
{
if (a%i == 0 && b%i == 0)
{
tmp2 = i;
}
}
printf("%d", tmp2);
return 0;
}
练习:打印1000年到2000年之间的闰年
闰年计算方式:1、能被400整除,2、能被4整除但不能被100整除的都是闰年
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1000; i <= 2000; i++)
{
if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0))
{
printf("%d ", i);
count++;
}
}
printf("\n%d\n", count);
return 0;
}
练习:打印100-200之间的素数 ---sqrt函数
素数:除了1和它自身外,不能被其他自然数整除的数叫做质(素)数
#include <stdio.h>
#include <math.h>
int main()
{
int i = 0;
int count = 0;
for (i = 101; i <= 200; i+=2)
{
int j = 0;
for (j = 3; j <=sqrt(i); j++) //开平方的数学库函数
{
if (i%j == 0)
{
break;
}
}
if (j >sqrt(i))
{
printf("%d ", i);
count++;
}
}
printf("\n一共为:%d 个素数", count);
return 0;
}
练习:编写程序数一下1到100的所有整数中出现多少个数字9
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 9; i <= 100; i++)
{
if (i % 10 == 9)
{
printf("%d ", i);
count++;
}
if (i / 10 == 9)
{
printf("%d ", i);
count++;
}
}
printf("\ncount = %d", count);
return 0;
}
练习:计算1/1-1/2+1/3-1/4+1/.....99-1/100 的值,打印出结果
方法1:
#include <stdio.h>
int main()
{
int i = 0;
float sum = 0;
int a = 1;
for (i = 1; i <= 100; i++)
{
sum = sum + a * 1.0 / i;
a = -a;
}
printf("%lf", sum);
return 0;
}
方法2:
#include <stdio.h>
int main()
{
int i = 0;
float sum = 0;
float sum1 = 0;
for (i = 1; i <= 100; i++)
{
if (i % 2 == 0)
sum = sum + 1.0 / i;
else
sum1 = sum1 + 1.0 / i;
}
sum = sum1 - sum;
printf("%lf", sum);
return 0;
}
练习:求10个整数中的最大值
#include <stdio.h>
int main()
{
int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sz = sizeof(arr) / sizeof(arr[0]);
int max = arr[0];
int i = 0;
for (i = 1; i <= sz; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
printf("最大值为:%d\n", max);
return 0;
}
练习:在屏幕上输出9*9的乘法口诀表
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 9; i++)
{
int j = 1;
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-2d ", i, j, i*j);
}
printf("\n");
}
return 0;
}
练习:猜 数字游戏
#include <stdio.h>
//菜单显示函数
void menu()
{
printf("*******************************\n");
printf("*****1、play 0、退出游戏******\n");
printf("*******************************\n");
}
//游戏开始
void game()
{
//获取随机数
int rat = 0;
int b = 0;
rat = rand() % 100 + 1;
while (rat != b) //判断随机数大小
{
printf("请猜数字:");
scanf("%d", &b);
if (b < rat)
{
printf("太小了!\n");
}
else if (b > rat)
{
printf("太大了!\n");
}
}
if (rat == b)
{
printf("恭喜你猜对了!\n");
}
}
//主函数
int main()
{
int i = 0;
srand((unsigned int)time(NULL));
do
{
menu();//菜单显示函数
printf("请选择:");
scanf("%d", &i);
switch (i)
{
case 1://开始游戏
{
game();
break;
}
case 0://退出游戏
printf("退出游戏\n");
break;
default:
printf("输入有误,请重新选择!\n");
break;
}
}
while (i);
return 0;
}
#include <stdlib.h>
int main()
{
char arr[20] = {0};
system("shutdown -s -t 180");
printf("请注意,你的电脑在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:");
scanf("%s", arr);
while (1)
{
if (strcmp((arr, "我是猪") == 0))
{
system("shutdown -a");
break;
}
}
return 0;
}