一周一篇小总结 Hello every 我是 BaldCub
今天我来总结一下我这一周学习c语言遇到的题
后续时间充足的时候 会做一些详细的代码思路讲解
代码可能并不是太完善 有任何问题 欢迎指出 共同交流学习!
1.写代码将三个数从小到大输出
2.写一个代码打印1-100之间所有3的倍数的数字
3.给定两个数 求这两个数的最大公约数
4. 打印1000年到2000年之间的闰年
5. 写一个代码:打印100-200之间的素数
6. 编写程序数一下 1-100的所有整数中出现多少个数字9
7. 计算1/1-1/2+1/3-1/4+1/5…+1/99-1/100的值 打印出结果
8. 求十个整数中最大值
9. 在屏幕上输出9*9乘法口诀表
10. 编写代码在一个整形有序数组中查找具体的某个数
题目1:
#include<stdio.h>
int main()
{
int a ;
int b ;
int c ;
int s;
printf("请输入三个数字:\n");
scanf("%d %d %d", &a, &b, &c);
if (a > b )
{
s = b;
b = a;
a = s;
}
if (a > c)
{
s = c;
c = a;
a = s;
}
if (b > c)
{
s = c;
c = b;
b = s;
}
printf("从小到大输出:%d %d %d\n", a, b, c);
}
题目2:
#include<stdio.h>
int main()
{
int i = 1;
while (i<=100)
{
if (i % 3 == 0)
printf("%d ", i);
i++;
}
return 0;
}
题目3:
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int s = 0;
scanf("%d %d", &a, &b);
while (s = a % b)
{
a = b;
b = s;
}
printf("%d\n", b);
return 0;
}
题目4:
#include<stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1000; i <= 2000; i++)
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
{
printf("%d ", i);
count++;
}
}
printf("共有多少个符合条件的闰年:%d ", count);
return 0;
}
题目5:
#include<stdio.h>
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j < i; j++)
{
if (i%j == 0)
{
break;
}
}
if (i == j)
{
printf("%d ", i);
}
}
return 0;
}
题目6:
#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\n", count-1); //重复两次99 减去一次
return 0;
}
题目7:
#include<stdio.h> //题目七
int main()
{
int i = 0;
float sum = 0.0;
int flag = 1.0;
for (i = 1; i <= 100; i++)
{
sum += flag * 1.0 / i;
flag = -flag; //解决 + - 问题
}
printf("%f\n", sum);
return 0;
}
题目8:
#include<stdio.h>
int main()
{
int a[10];
int max;
int i;
printf("请输入10个整数:");
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
max = a[0];
for (i = 0; i < 10; i++)
{
if (a[i]>max)
{
max = a[i];
i++;
}
}
printf("max=%d", max);
return 0;
}
题目9:
#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 9; i++)
{
int j = 1;
for (j = 1; j <= 9; j++)
{
printf("%d * %d = %-2d ", i, j, i*j);
}
printf("\n");
}
return 0;
}
题目10:
#include<stdio.h>
int main()
{
int arr[] = {
0,1,2,3,4,5,6,7,8,9};
int k=7;
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz - 1;
for (int i = 0; i<sz; i++)
{
while (left <= right)
{
int mid = (left + right) / 2;
if (arr[mid] > k)
{
right = mid - 1;
}
else if (arr[mid] < k)
{
left = mid + 1;
}
else
{
printf("已找到这个数字的下标为:%d\n", mid);
break;
}
if (left>right)
{
printf("找不到此数字\n");
}
}
return 0;
}
}