C语言 题目2

本文包含多个C语言编程示例,包括循环控制(break/continue)、字符串处理(strlen/sizeof)、九九乘法表、最大公约数(辗转相除法)、素数判断(100-200)、图形打印(X图案/空心正方形)、矩阵转置、数组逆序输出、数组交换以及平均值计算。重点展示了各种基础算法的实现方法,如通过嵌套循环控制流程、利用取模运算求公约数、使用标志位判断素数等。所有示例均采用标准C语法,包含完整的main函数结构和基本输入输出操作。

break和continue题目

求a的值?

当进入循环后 要当b>20才跳出循环打印a

当if(b%3==1)进行7次 b=21时 跳出循环

此时a的值为8

b

数组中地址是由低地址到高地址

选d

strlen打印\0之前的字符个数

而acY中无\0 是随机值 无法比较

sizeof打印个数

acX中abcdefg\0 打印是8个

而acYabcdefg 打印是7个

所以选c

(3,4)是逗号表达式打印是最后一个表达式的结果 4

arr中有4个int类型的变量

sizeof打印的结果是16

选B

sizeof比strlen多打印一个\0

所以选A

打印9*9乘法表

int main()
{
for (int i = 1; i <=9; i++)
{
for (int j = 1; j <= i; j++)
{
printf("%d*%d=%d", i, j, i * j);
}
printf("\n");
}

return 0;
}

求两个数最大公约数 辗转相除法

int main()

{

int x = 20;

int y = 40;

int c = y % x;

while (c!=0)

{

x = c;

y = x;

c = y % x;

}

printf("%d", x);

return 0;

}

}

找到100到200素数

int main() {

int i, j;

for (i = 100; i <= 200; i++) {

for (j = 2; j < i; j++) {

if (i % j == 0) {

break; // 如果能被整除,则不是素数

}

}

if (i == j) { // 如果循环结束后j等于i,则是素数

printf("%d ", i);

}

}

return 0;

}

打印X图案

int main()

{

int a ;

while (scanf("%d",&a)!=EOF) { // 注意 while 处理多个 case

for(int i=0;i<=a;i++)

{

for(int j=0;j<a;j++)

{

if(i==j||i+j==4)

{

printf("*");

}else {

printf(" ");

}

}

printf("\n");

}

return 0;

}

}

打印空心正方形

int main()

{

int a;

while (scanf("%d", &a) != EOF)

{

for (int i = 0; i < a; i++) {

for (int j = 0; j < a; j++) {

if (i == 0 || i == a - 1 || j == 0 || j == a - 1) {

printf("*");

}

else {

printf(" ");

}

}

printf("\n");

}

}

return 0;

}

矩阵倒置

把 int arr23

123

421

变成

int arr32

14

22

31

#include<stdio.h>

int main()

{

int arr23 = { 1,2,3,4,2,1};

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < 2; j++) {

printf("%d", arrji);

}

printf("\n");

}

return 0;

}

就是i j 的坐标互换

逆序输出

将12345678910

变成10987654321

#include <stdio.h>

int main() {

int n = 0;

int arr10 = { 0 };

for (n = 0; n < 10; n++) {

scanf("%d", &arrn);

}

for (n = 9; n >= 0; n--) {

printf("%d ", arrn);

}

return 0;

}

将两个数组的内容交换

int main()

{

int arr13 = { 1,2,3 };

int arr23 = { 2,3,5 };

int arr33 = { 0 };

int sz = sizeof(arr1) / sizeof(arr11);

for (int i = 0; i < sz; i++)

{

int tmp = arr2i;

arr2i = arr1i;

arr1i = tmp;

}

for (int i = 0; i < sz; i++)

{

printf("%d", arr1i);

}

printf("\n");

for (int i = 0; i < sz; i++)

{

printf("%d", arr2i);

}

return 0;

}

计算数组的平均值

相关推荐
aqiu1111111 小时前
【C++算法打怪专栏】8. 字符串转换整数 (atoi)
开发语言·c++·算法
爱吃香菜的初学者2 小时前
十四.Linux——消息队列
linux·运维·开发语言
迅猛龙办公室2 小时前
python实现倒序输出数字
开发语言·python
夏幻灵8 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
程序猿编码8 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
bkspiderx9 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
程序员老陆10 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光10 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
码云数智-园园10 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
禾小西11 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis