c语言相关练习学习有感2

c语言相关练习学习有感2

1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
char a = 0, ch;
while ((ch = getchar()) != '\n')//当getchar输入的不是一个回车时就会进入到while函数里面,
{
if (a % 2 != 0 && (ch >= 'a' && ch <= 'z'))
ch = ch - 'a' + 'A';
a++;
putchar(ch);
}
printf("\n");
return 0;
}

 

 2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//int main()
//{//以下哪个选项一定可以将 flag 的第二个 bit 位置 0,且其它 bit 位不变
//
// int flag = 15;//15是个正数原反补码相同
// //15的二进制表示0000 0000 0000 0000 0000 0000 0000 1111
// int a=flag &= ~2;//&按位与有个二进制数,两11,有00
// //2 的二进制表示0000 0000 0000 0000 0000 0000 0000 0010
// //结果为 0000 0000 0000 0000 0000 0000 0000 0010,第2个比特位不变,其他都变,不符合
//
// int b=flag != 2;//!=,==是逻辑操作符,成立为1,不成立为015!=2成立,答案为1
// //
// // 0000 0000 0000 0000 0000 0000 0000 0001只有第一个不变其他3位都变
//
// int c=flag ^= 2;//^=是按位异或即两10,有01
// //0000 0000 0000 0000 0000 0000 0000 1111
// //0000 0000 0000 0000 0000 0000 0000 0010
// //结果为
// //0000 0000 0000 0000 0000 0000 0000 1101符合题目要求
//
// int d=flag >>= 2;
//
// //>>=二进制向右移动两位,左边补符号位,正数补0,负数补1,若是向左移动,右边都是补0
// //0000 0000 0000 0000 0000 0000 0000 1111
// //0000 0000 0000 0000 0000 0000 0000 0011
// printf("%d\n", a);//13
// printf("%d\n", b);//1
// printf("%d\n", c);//15
// printf("%d\n", d);//3
//
// return 0;
//}
1
2
3
4
5
6
7
8
9
int main()
{
int x = 1;//do while语句是先执行再判断
//
do {
printf("%2d\n", x++);//x++右置++,先使用再++,打印1,加加后得2
} while (x--);//同理先使用再--,while2)成立--得1进入循环,死循环
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
int a = -3;// 1000 0000 0000 0000 0000 0000 0000 0011
//反码 1111 1111 1111 1111 1111 1111 1111 1100
//补码 1111 1111 1111 1111 1111 1111 1111 1101
unsigned int b = 2;//b位无符号整形0000 0000 0000 0000 0000 0000 0000 0010
long c = a + b;//长整形 电脑使用补码进行相加减
// 0000 0000 0000 0000 0000 0000 0000 0010
// 1111 1111 1111 1111 1111 1111 1111 1101
// 1111 1111 1111 1111 1111 1111 1111 1111
printf("%u\n", c);//%u是打印无符号整形数,即即使是负数也将其认为是无符号整形数,以十进制数表示
//4294967295
return 0;
}

7-1 真睡还是装睡 (15 分)

你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一个人的呼吸频率与脉搏,请你判断他是真睡还是装睡(即至少一项指标不在正常睡眠范围内)。

输入格式:

在一行中输入空格隔开的两个整数,分别表示一个人的呼吸频率和脉搏(均为不超过100的正整数)。

输出格式:

如果判定此人真睡,则输出 T,否则为装睡,输出 F

输入样例 1:

1
18 55

结尾无空行

输出样例 1:

1
T

结尾无空行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
int breath, pulse;
scanf("%d %d", &breath, &pulse);
if (breath >= 15 && breath <= 20)
{
if (pulse >= 50 && pulse <= 70)
{
printf("T");
}
else
(printf("F"));
}
else
{
printf("F");
}
return 0;
}

运行结果 

 

题述:有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。

🍳 输入描述:

    第一行输入一个整数(0≤N≤50)。

    第二行输入N个升序排列的整数,输入用空格分隔的N个整数。

    第三行输入想要进行插入的一个整数。

🍳 输出描述:

    输出为一行,N+1个有序排列的整数。

💨 示例:

输入:
    5
    1 6 9 22 30
    8
输出:
    1 6 8 9 22 30
————————————————
版权声明:本文为CSDN博主「跳动的bit」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wh128341/article/details/120677309

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int sort_up(const void*e1, const void*e2)
{
return (*(int*)e1 - *(int*)e2);
}
int main()
{
int n;
scanf("%d", &n);
int arr[51];

int i = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}

int input;
scanf("%d", &input);
arr[n] = input;
qsort(arr, n + 1, sizeof(arr[0]), sort_up);
for (i = 0; i < n + 1; i++)
{
printf("%d ", arr[i]);
}
return 0;
}

运行结果


c语言相关练习学习有感2
http://example.com/2021/10/15/c语言相关练习学习有感2/
作者
Zevin
发布于
2021年10月15日
许可协议