C语言编程题数组
时间: 2025-04-26 10:13:40 浏览: 25
### C语言数组编程练习题
#### 题目1:数组元素逆序排列
编写一个程序,接收用户输入的一系列整数并将其存入数组中。随后实现该数组中的元素顺序反转,并输出结果。
```c
#include <stdio.h>
void reverseArray(int arr[], int n) {
for (int i = 0; i < n / 2; ++i) {
int temp = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = temp;
}
}
int main() {
const int size = 5;
int numbers[size];
printf("请输入%d个整数:\n", size);
for (int i = 0; i < size; ++i) {
scanf("%d", &numbers[i]);
}
reverseArray(numbers, size);
printf("倒序后的数组为:");
for (int i = 0; i < size; ++i) {
printf("%d ", numbers[i]);
}
return 0;
}
```
此段代码展示了如何定义`reverseArray()`函数来完成数组逆转功能[^1]。
#### 题目2:十进制转二进制表示法
给定任意正整数值作为参数传递给函数,在不借助额外库的情况下转换成对应的二进制字符串形式展示出来。
```c
#include <stdio.h>
#define MAX_BITS 32
void decimalToBinary(int number){
char binary[MAX_BITS]="";
int index=0;
do{
binary[index++]=(number%2)+'0';
number /= 2;
}while(number>0);
// 反向打印二进制串
for(;index>=0;--index)
putchar(binary[--index]);
puts("");
}
int main(){
int value=15;
printf("数字 %d 的二进制表达是:",value);
decimalToBinary(value);
return 0;
}
```
上述例子演示了一个简单的算法用于将十进制整数转化为二进制序列[^2]。
#### 题目3:统计单词数量
读取一行由多个单词组成的字符串(假设每个单词间仅有一个空格),然后计算这行文字里共有多少个独立的词彙单元。
```c
#include <stdio.h>
#include <ctype.h>
int countWords(const char *str){
int wordCount=0;
while(*str!='\0'){
/* 跳过空白符 */
while(isspace((unsigned char)*str)) str++;
if (*str != '\0') wordCount++;
/* 找到下一个非字母字符的位置 */
while(!isspace((unsigned char)*str)&&*str!='\0') str++;
}
return wordCount;
}
int main(){
char sentence[]="这是一个测试句子.";
printf("这句话中有 %d 个词语。\n",countWords(sentence));
return 0;
}
```
这段源码实现了基本的功能去解析一段英文文本并报告其含有的词汇数目[^3]。
阅读全文
相关推荐

















