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;

}

计算数组的平均值

相关推荐
weixin_649555671 分钟前
C语言程序设计第四版(何钦铭、颜晖)第十章函数与程序设计之汉诺塔问题
c语言·c++·算法
C羊驼5 分钟前
C语言:随机数
c语言·开发语言·经验分享·笔记·算法
fengfuyao98514 分钟前
CH552多功能音量调节旋钮设计与实现
c语言·开发语言
xushichao198920 分钟前
实时数据压缩库
开发语言·c++·算法
liurunlin88823 分钟前
Go环境搭建(vscode调试)
开发语言·vscode·golang
故事和你9139 分钟前
sdut-python-实验四-python序列结构(21-27)
大数据·开发语言·数据结构·python·算法
SuperEugene43 分钟前
TypeScript+Vue 实战:告别 any 滥用,统一接口 / Props / 表单类型,实现类型安全|编码语法规范篇
开发语言·前端·javascript·vue.js·安全·typescript
liuyao_xianhui1 小时前
优选算法_模拟_提莫攻击_C++
开发语言·c++·算法·动态规划·哈希算法·散列表
.select.1 小时前
c++ 移动赋值/移动构造函数
开发语言·c++
我是鶸1 小时前
secml-malware python library 源码分析及实践
开发语言·python