1. 冒泡排序
- 操作要求:
编写程序,利用冒泡法对10个整数进行排序,要求使用数组。
- 核心思路:
中间变量辅助数组内元素上浮、下沉。
/*
题目:
冒泡排序
操作要求:
编写程序,利用冒泡法对10个整数进行排序,要求使用数组。
核心思路:
中间变量辅助数组内元素上浮、下沉
*/
#include <stdio.h>
#define N 10
int main(){
int i,j,t,a[N];
printf("请输入10个整数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++) //for控制比较轮次
for(j=0;j<N-i-1;j++) //for控制每轮比较次数
if(a[j]>a[j+1]){ //借助中间变量t控制元素上浮、下沉
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("排列后如下:\n");
for(i=0;i<N;i++)
printf("%d",a[i]);
return 0;
}
2. 斐波那契数列
- 操作要求:
编写程序,利用数组来处理[0,100]范围内的斐波那契数列问题。
- 核心思路:
①利用数组存储数列
②递归函数求斐波那契数列
/*
题目:
斐波那契数列
操作要求:
编写程序,利用数组来处理[0,100]范围内的斐波那契数列问题。
核心思路:
①利用数组存储数列
②递归函数求斐波那契数列
*/
#include <stdio.h>
#define N 11 //根据百以内斐波那契数列的个数,控制数组长度
/*整型函数求斐波那契数列*/
int fib(int i){
int j;
if(i==1||i==2) //设置递归出口
j=1;
else
j=fib(i-1)+fib(i-2);
return j;
}
int main(){
int i=2,a[N];
for(i=0;i<N;i++)
a[i]=fib(i+1);
printf("[0,100]范围内的斐波那契数列如下:\n");
for(i=0;i<N;i++) //for循环对数列内元素逐个输出
printf("a[%d]=%d ",i,a[i]);
return 0;
}
3. 统计单词数
- 操作要求:
编写程序,输入一句英文,统计其中有多少个单词,单词之间用空格分开。
- 核心思路:
利用字符串以'\0'结尾,遍历字符数组。
/*
题目:
统计单词数
操作要求:
编写程序,输入一句英文,统计其中有多少个单词,单词之间用空格分开。
核心思路:
利用字符串以'\0'结尾,遍历字符数组。
*/
#include <stdio.h>
#include <string.h>
#define N 1000
int main(){
int i,n=0;
char a[N];
printf("请输入一句英文:\n");
gets(a);
for(i=0;a[i]!='\0';i++) //以'\0'为标记,遍历字符数组
if(a[i]==' ') //if选择结构统计空格数目
n++;
printf("该句子中共有%d个单词。",n+1); //单词数为空格数+1
return 0;
}