c语言实验题目汇总3~12 下载本文

内容发布更新时间 : 2024/5/6 15:35:58星期一 下面是文章的全部内容请认真阅读。

for (i=1;i<=总行数n/2+1;i++) {

for (j=1;j<=总行数n/2+1-行号i;j++)

printf(“ ”); for (k=1;j<=行号i*2-1;k++) printf(“*”); printf( );

}

下半部分基本框架: for (i=总行数n/2;i>=1;i--) {

for (j=1;j<=总行数n/2+1-行号;j++) printf(“ ”);

for (k=1;j<=行号i*2-1;k++)

printf(“*”);

printf( ); }

思考如何把这段代码定义成函数。

实验11 数组编程练习

实验题目1 将数组倒置

提示:

定义数组: int a[8] = {1, 2, 3, 4, 5, 6, 7, 8}; 中间变量t用于存放倒置前的数组元素t = a[i];

a[i] = a[j]; a[j] = t;

交换后i的值加1:++i j的值减去1:--j; 当i>j时停止交换 倒置前 a[0] 5 倒置后 a[0] 2 a[1] 3 a[2] 4 a[3] 5 a[1] 4 a[2] 3 a[3] 2

实验题目2 用自定义函数实现-输入5个同学的c语言课程的成绩和学号,找出最高分和最低分,并输出对应的学号

提示:

1. 定义2个数组分别为int score[10], num[10] 2. 输入成绩 for(i=0;i<4;i++) { scanf() }

3. 输出数组元素 for(i=0;i<9;i++) { printf(); }

实验题目3编写程序把输入的10个同学的成绩按照从大到小排序,成绩存放在数组中,排序算法采用冒泡排序算法 提示:

1. 定义一个数组用于存放用户输入的分数,数组元素个数为10:double s[10]; 2. 为数组元素赋值 for(i=0;i<9;i++) { }

scanf(\

3. 冒泡排序算法:

第1层循环用于输出找到的最大值 第2层循环用于数组元素的位置交换 for(i=0;i<9;i++) for(j=9;j>=i+1;j--) if(s[j]<=s[j-1]) {

temp=s[j]; s[j]=s[j-1]; s[j-1]=temp; } }

4. 排序完后输出数组元素 for(i=0;i<9;i++) { printf(\}

思考:如何把冒泡排序算法编写成函数,形式参数采用数组

实验12 数组编程练习

题目1 编写程序采用顺序查找方法:在数组搜索某一数据,如果找到输出该数据和这个数据在数组中的位置,该数据有用户输入。数组初始化数据自定。 提示:

算法核心概念:

设数据存放在数组a中,数据的数量为n,要查找的数据值为key,则数组a中的元素从a[0]~a[n],依次与key进行比较,

参考代码:

#include void main() { int a[10]={10,9,8,7,6,5,4,3,2,1}; int i; int key; int index=0; for(i=0;i<10;i++) printf(\ printf(\ printf(\请输入你要找的数!\\n\ scanf(\ for(i=0;i<10;i++) if(key==a[i]) index=i; if(index==10) printf(\没找到你要的数!\\n\ else printf(\你要找的数是第%d个,它的值为%d\\n\}

题目2 编写程序,输入n个字符串,输出其中最长的字符串,最短的字符串 提示:

调用字符串比较函数strcmp(min,str) 字符串拷贝函数strcpy(min,str); 参考代码:

#include

#include #define N 6 #define N1 20

void main() { int i; char min[N1],max[N1],str[N1]; printf(\请输入一个字符串\\n\ gets(str); printf(\输出这个字符串\\n\ puts(str); strcpy(min,str); printf(\输出最小字符串\\n\ puts(min); strcpy(max,str); printf(\输出最大字符串\\n\ puts(max); for(i=1;i0) { strcpy(min,str); } if(strcmp(max,str)<0) { strcpy(max,str); } } printf(\输出最小字符串\\n\ puts(min); printf(\输出最大字符串\\n\ puts(max); }