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;

}

计算数组的平均值

相关推荐
祈安_2 天前
C语言内存函数
c语言·后端
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1234 天前
matlab画图工具
开发语言·matlab
dustcell.4 天前
haproxy七层代理
java·开发语言·前端
norlan_jame4 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone4 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054964 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
czy87874754 天前
除了结构体之外,C语言中还有哪些其他方式可以模拟C++的面向对象编程特性
c语言
遥遥江上月4 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
m0_531237174 天前
C语言-数组练习进阶
c语言·开发语言·算法