不要懒!不要停! 坚持刷题!
目录
1.计算:1/2+1/4+……+1/n,设n是由键盘输入的正偶数。
2.计算:1/1+1/3+……+1/n,设n是由键盘输入的正奇数。
1.计算:1/2+1/4+……+1/n,设n是由键盘输入的正偶数。
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
double sum = 0.0;
for (int i = 2; i <= n; i++)
{
if (i % 2 == 0)
{
sum += 1.0/i;
}
}
printf("sum=%lf", sum);
return 0;
}
输入一个偶数,n看做大小。用 i 判断是否是偶数(i%2==0)余0就是偶数。
一开始是二分之一,所以i的初始值是2。
2.计算:1/1+1/3+……+1/n,设n是由键盘输入的正奇数。
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
double sum = 0.0;
for (int i = 1; i <= n; i++)
{
if (i % 2 == 1)
{
sum += 1.0/i;
}
}
printf("%lf", sum);
return 0;
}
输入一个奇数,n看做大小。用 i 判断是否是奇数(i%2==1)余1就是奇数。
一开始是一分之一(就是1),所以i的初始值是1。
3.从终端输入3个数a、b、c,按从大到小的顺序输出。
//第一种方法按位异或
#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a < b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
else if (a < c)
{
a = a ^ c;
c = a ^ c;
a = a ^ c;
}
else if (b < c)
{
b = b ^ c;
c = b ^ c;
b = b ^ c;
}
printf("a=%d,b=%d,c=%d\n", a, b, c);
return 0;
}
//第二种方法加减法
#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a < b)
{
a = a + b;
b = a - b;
a = a - b;
}
else if (a < c)
{
a = a + c;
c = a - c;
a = a - c;
}
else if (b < c)
{
b = b + c;
c = b - c;
b = b - c;
}
printf("a=%d,b=%d,c=%d\n", a, b, c);
return 0;
}
//第三种方法变量法
#include<stdio.h>
int main()
{
int a, b, c;
int tmp;
scanf("%d %d %d", &a, &b, &c);
if (a < b)
{
tmp=a;
a=b;
b=tmp;
}
else if (a < c)
{
tmp=a;
a=c;
c=tmp;
}
else if (b < c)
{
tmp=b;
b=c;
c=tmp;
}
printf("a=%d,b=%d,c=%d\n", a, b, c);
return 0;
}
比大小有三种方法
按位异或^ :按位异或用的是二进制的方法,也是最高效的
加减法:加减法有一定的范围,如果是超大值会溢出
第三个变量:变量也比较常用的方式。
看自己个人喜好,如果都会那是最好的!!!
4. 公安人员审问四名窃贼嫌疑犯。
已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:
// 甲说“乙没有偷,是丁偷的”,
// 乙说“我没有偷,是丙偷的”,
// 丙说“甲没有偷,是乙偷的”,
// 丁说“我没有偷”。
// 请根据这四人的答话判断谁是盗窃者。
#include<stdio.h>
//a=甲 b=乙 c=丙 d=丁
int main()
{
char ch;
for (ch = 'a'; ch <= 'd'; ch++)
{
if((ch!='b')+(ch=='d')!=1&&(ch!='b')+(ch=='c')!=1&&(ch!='a')+(ch=='b')!=1&&(ch!='d'))
break;
}
printf("%c", ch);
return 0;
}
这个是一个逻辑问题我们来捋一下
题目所说:
要么每个人都是诚实的(意思是全部为真话)
要么总有人说假话(意思是全部是假话)
先从甲为例(没有偷我们用 != 偷了我们用 ==)
ch !=' b '+ ch==' d ' !=1
把甲乙丙丁说的话用&&串起来,利用for循环遍历一次就可以找到小偷了
今天的分享就到这里啦!
看了这么久点个关注吧!你的肯定是我最大的动力,每天都会分享小题目哦!~
我是Try_harder,正在磕磕绊绊中成长~~