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 arr[2][3]

123

421

变成

int arr[3][2]

14

22

31

#include<stdio.h>

int main()

{

int arr[2][3] = { 1,2,3,4,2,1};

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

{

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

printf("%d", arr[j][i]);

}

printf("\n");

}

return 0;

}

就是i j 的坐标互换

逆序输出

将12345678910

变成10987654321

#include <stdio.h>

int main() {

int n = 0;

int arr[10] = { 0 };

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

scanf("%d", &arr[n]);

}

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

printf("%d ", arr[n]);

}

return 0;

}

将两个数组的内容交换

int main()

{

int arr1[3] = { 1,2,3 };

int arr2[3] = { 2,3,5 };

int arr3[3] = { 0 };

int sz = sizeof(arr1) / sizeof(arr1[1]);

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

{

int tmp = arr2[i];

arr2[i] = arr1[i];

arr1[i] = tmp;

}

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

{

printf("%d", arr1[i]);

}

printf("\n");

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

{

printf("%d", arr2[i]);

}

return 0;

}

计算数组的平均值

相关推荐
yaodong5181 分钟前
Gemini长上下文重塑RAG架构
开发语言·php
风味蘑菇干3 分钟前
继承 + static + final 综合应用
java·开发语言
IT策士5 分钟前
Python 面试系列:常见 100 个经典面试问题,从入门到进阶
开发语言·python·面试
想取一个与众不同的名字好难8 分钟前
QT webSocket接收客户端发送的双目摄像头数据并显示
开发语言·qt·websocket
Kiyra13 分钟前
LLM 的 JSON 不靠谱:结构化输出的重试与修复实战
开发语言·python·json
fengci.19 分钟前
CTF+随机困难部分
android·开发语言·网络·安全·php
沐风。5623 分钟前
pyton笔记
开发语言
自不量力的A同学29 分钟前
PHP 8.5.6 发布
开发语言·php
基德爆肝c语言33 分钟前
Qt控件:按钮类
开发语言·qt
茉莉玫瑰花茶36 分钟前
LangGraph 入门教程:构建 AI 工作流 [ 案例二 ]
开发语言·人工智能·python