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;

}

计算数组的平均值

相关推荐
LDR0066 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术6 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园6 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob6 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享6 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.6 天前
C语言--day30
c语言·开发语言
玖玥拾6 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
何以解忧,唯有..6 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽6 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下6 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php