0


C语言今日份练习

//1.题目名称:从大到小输出
// 题目内容:写代码将三个数按从大到小输出

#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf_s("%d %d %d", &a, &b, &c);//2 1 3
int d = 0;
if (a < b)
{

     d = a;
     a = b;
     b = d;
 }
 else if (a < c)//else 是否则 if 是如果 
 {

    d = a;
     a = c;
     c = d;
 }
 if (b < c)//这里不能加else 因为这样的话就只会执行第二个else if 而这个里面的语句不执行
 {
     
     d = b;
     b = c;
     c = d;
 }
 printf("%d %d %d\n", a, b, c);
 return 0;

}

//2.题目名称:打印3的倍数的数
// 题目内容:写一个代码打印1-100之间所有3的倍数的数字

#include<stdio.h>
int main()
{
int i = 0;
int count=0;
for (i = 1; i <= 100; i++)
{
if (i % 3 == 0)
{
printf("%d ", i);
count++;
}
}
printf("\ncount=%d", count);
return 0;
}

//3.题目名称:最大公约数
// 题目内容:给定两个数,求这两个数的最大公约数
// 辗转相除法:公约数 两个数取模,不为0,再取模,取到0的话就为最大公约数

#include<stdio.h>

int main()
{
int a = 0;
int b = 0;
scanf_s("%d %d", &a, &b);
int r = 0;
while (a % b)
{
r = a % b; //18%24=18
a = b;
b = r;
}
printf("%d\n", b);
return 0;
}

//4.题目名称: 打印闰年(要想知道多少个闰年count++就行)
// 题目内容:打印1000年到2000年之间的闰年

#include<stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1000; i <= 2000; i++)
{
//判断i是否为闰年(两个条件用if和else if)(也可以if(()||())
//1.能被4整除并且不能被100整除是闰年
//2.能被400整除是闰年
if (i % 4 == 0 && i % 100 != 0)
{
printf("%d ", i);
count++;
}
else if (i % 400 == 0)
{
printf("%d ", i);
count++;
}
}
if (((i % 4 == 0) && (i % 100 != 0)) || (i % 400 == 0))
{
printf("%d ", i);
count++;
}
}
printf("\ncount=%d\n", count);
return 0;
}

//5.题目名称:打印素数
// 题目内容:写一个代码:打印100-200之间的素数

#include<stdio.h>

int main()
{
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++)
{
//判断i是否为素数
//素数判断的规则
//1.试除法
//产生2->i-1个数
int j = 0;
for (j = 2; j < i; j++)//j<i的意思就是从2到i-1的范围
{
if (i % j == 0)
{
break;
}
}
//1.break跳到这里来
//2.都是素数时到这里来
//固定一个
if (j == i)
{
printf("%d ", i);
count++;
}
}
printf("\ncount=%d ", count);
return 0;
}
//优化算法(开平方)即a和b中至少有一个数字<=开平方i(i=a*b);也可以在奇数里找,偶数肯定不是素数

//6.题目名称:数9的个数
// 题目内容:编写程序数一下1到100的所有整数中出现多少个数字9
#include<stdio.h>

int main()
{
int i = 0;
int count = 0;
for (i = 1; i <= 100; i++)
{
if (i % 10 == 9)
count++;
if (i / 10 == 9)
count++;
}
printf("%d ", count);
return 0;
}

//7.题目名称:分数求和
// 题目内容:计算1/1-1/2+1/3-1/4...+1/99-1/100的值,打印出结果
#include<stdio.h>

int main()
{
int i = 0;
int b = 1;
double a = 0;
double sum = 0.0;
for (i = 1; i <= 100; i++)
{
a = 1.0 / i;
sum += b * a;
b = -b;

 }
 printf("%lf ", sum);
 return 0;

}

//8.题目名称:求最大值
// 题目内容:求10个整数中最大值
#include<stdio.h>

int main()
{
int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 };
int max = arr[0];//认为max就是最大值,再把里面每个元素跟max比较,再互换
int i = 0;
int a = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < sz; i++)
{
if (max < arr[i])
{
a = max;
max = arr[i];
arr[i] = a;
}
}
printf("%d ", max);
return 0;
}

//9.题目名称:乘法口诀表
// 题目内容:在屏幕上输出99乘法口诀表
//1
1=1
//21=2 22=4 a*b=m 先确定行 再确定列
#include<stdio.h>

int main()
{
int i = 0;
//确定打印9行
for (i = 1; i <= 9; i++)
{
//打印一行
int j = 0;
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-2d ", i, j, i*j);
}
printf("\n");
}
return 0;
}

//10.题目名称:二分查找
// 题目内容:编写代码再一个整形有序数组中查找具体的某个数
// 要求:找到了就打印数字所在的下标,找不到则输出:找不到
#include<stdio.h>

int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k = 7;
int left = 0;
int sz = sizeof(arr) / sizeof(arr[0])-1;
int right = sz;
int mid = 0;
while (left <= right)//加一个循环,因为要一直找
{
mid = (left + right) / 2;
if (arr[mid] > k)
{
right = mid - 1;
}
else if (arr[mid] < k)
{
left = mid + 1;
}
else
break;
}
if (left <= right)
printf("找到了,下标是%d\n", mid);
else
printf("找不到\n");
return 0;
}

//11.题目名称:猜数字游戏
// 题目内容:1.电脑会生成一个随机数
// 2.猜数字
#include<stdio.h>

#include<stdlib.h>
#include<time.h>
void game()
{
//1.生成一个随机数
int ret = 0;
int guess = 0;//接收猜的数字
//拿时间戳来设置随机数的生成起始点
//time_t time(time_t *timer)
//time_t
ret = rand() % 100 + 1;//生成1-100之间随机数
//2.猜数字
while (1)
{
printf("请猜数字:>");
scanf_s("%d", &guess);
if (guess > ret)
{
printf("猜大了\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
void menu()
{
printf("*************************************\n");
printf("**** 1.play 0.exit ****\n");
printf("*************************************\n");
}
int main()
{
int input=0;
srand((unsigned int)time(NULL));
do {
menu();
printf("请选择:>");
scanf_s("%d",&input);//要是输入1或0没问题,但是输入其他数有问题要用default所以想到switch语句
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择\n");
break;
}
} while (input);
return 0;
}

12.题目名称:关机程序
题目内容:写一个关机程序
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char input[10] = { 0 };
//shutdown - s - t 60
//cmd command-命令行
//system()-执行系统命令的
system("shutdown -s -t 60");
again:
printf("请注意,你的电脑将在1分钟内关机。如果输入:我是猪,就取消关机\n请输入:>");
scanf("%s", &input);
if (strcmp(input,"我是猪") == 0)//比较两个字符串-strcmp()
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}


本文转载自: https://blog.csdn.net/2301_80300263/article/details/135441884
版权归原作者 失落的香蕉 所有, 如有侵权,请联系我们删除。

“C语言今日份练习”的评论:

还没有评论