当前位置:文档之家› C语言数组实验报告

C语言数组实验报告

深圳大学实验报告课程名称:程序设计基础实验项目名称:数组学院:光电工程学院专业:光电信息科学与技术指导教师:***报告人:温宏宇学号:********** 班级:4班实验时间:2016-5-12实验报告提交时间:教务处制四、实验步骤与过程:(给出程序分析和算法描述(流程图或文字)、程序核心代码。

) 1.程序分析:{int a[11];\\定义数组int i, j, t, p, number;\\定义变量printf("Input 10 numbers:\n");\\输入提示for (i = 0; i<10; i++)\\for循环为输入数据scanf("%d", &a[i]);for (i = 0; i<9; i++)for (j = 0; j<9 - i; j++)if (a[j]>a[j + 1]){t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;}\\两个for循环及中间变量t实现冒泡排序printf("The sorted numbers:\n");for (i = 0; i<10; i++)\\运用for循环输出{printf("%d ", a[i]);}算法描述:输入10 个数给a[0] 到a[9]i=0 to 8j=0 to 8-ia[j]>a[j+1]真假a[j] a[j+1]输出a[0] 到a[9]程序核心代码:#include<stdio.h>void main(){int a[11];int i, j, t, p, number;printf("Input 10 numbers:\n");for (i = 0; i<10; i++)scanf("%d", &a[i]);for (i = 0; i<9; i++)for (j = 0; j<9 - i; j++)if (a[j]>a[j + 1]){t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;}printf("The sorted numbers:\n");for (i = 0; i<10; i++){printf("%d ", a[i]);}2.程序分析:#include<stdio.h>void main(){int a[11];int i, j, t, p, number;printf("Input 10 numbers:\n");for (i = 0; i<10; i++)scanf("%d", &a[i]);for (i = 0; i<9; i++)for (j = 0; j<9 - i; j++)if (a[j]>a[j + 1]){t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;}printf("The sorted numbers:\n");for (i = 0; i<10; i++){printf("%d ", a[i]);}printf("\n请输入要插入的数字\n")\\提示输入;scanf("%d", &number);p = 0;while (p < 10)\\用循环判断数字的大小和位置{if (number<=a[p])break;else p++;}for (i = 9; i <= p; i--);\\用for循环将大于number的右移一位{a[i + 1] = a[i];}a[p] = number;\\将number插入数组for ( i = 0; i < 11; i++)\\输出{printf("%d ", a[i]);}}算法描述:程序核心代码:#include<stdio.h>void main(){int a[11];int i, j, t, p, number;printf("Input 10 numbers:\n");for (i = 0; i<10; i++)scanf("%d", &a[i]);for (i = 0; i<9; i++)for (j = 0; j<9 - i; j++)if (a[j]>a[j + 1]){t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;}printf("The sorted numbers:\n");for (i = 0; i<10; i++){printf("%d ", a[i]);}printf("\n请输入要插入的数字\n");scanf("%d", &number);p = 0;while (p < 10){if (number<=a[p])break;else p++;}for (i = 9; i <= p; i--);{a[i + 1] = a[i];}a[p] = number;for ( i = 0; i < 11; i++){printf("%d ", a[i]);}}3.程序分析:for (i = 0; i<M; i++)//用两个for循环找出一行的最大数{m = a[i][0];b = i,c = 0;for (j = 0; j<N; j++)if (a[i][j]>m){m = a[i][j];b = i,c = j;}d = 1;for (j = 0; j<M; j++)//判断是否列最小数{if (m>a[j][c]){d = 0; break;} //如果有元素比m小,那么当前点肯定不是鞍点,跳出循环,开始下一行的判断}if (d == 1){printf("鞍点为a[%d][%d]=%d", b, c, a[b][c]);//break; //不用跳出,因为鞍点可能还有,不止一个}}//if(d!=1)printf("此矩阵无鞍点!");算法描述:程序核心代码:#include<stdio.h>#define M 4#define N 5int main(){int i, j, a[M][N], b, c, d, m; //d判断是否有鞍点的变量,m为在该行的最大值,b,c记录序号。

printf("请输入%d*%d个数", M, N);for (i = 0; i<M; i++)for (j = 0; j<N; j++)scanf("%d", &a[i][j]);printf("矩阵为\n");for (i = 0; i<M; i++){for (j = 0; j<N; j++)printf("%-5d", a[i][j]);printf("\n");}for (i = 0; i<M; i++){m = a[i][0];b = i,c = 0;for (j = 0; j<N; j++)if (a[i][j]>m){m = a[i][j];b = i,c = j;}d = 1;for (j = 0; j<M; j++){if (m>a[j][c]){d = 0; break;} //如果有元素比m小,那么当前点肯定不是鞍点,跳出循环,开始下一行的判断}if (d == 1){printf("鞍点为a[%d][%d]=%d", b, c, a[b][c]);//break; //不用跳出,因为鞍点可能还有,不止一个}}//if(d!=1)printf("此矩阵无鞍点!");}4.程序分析:int i, j, upp, low, dig, spa, oth;//定义变量char text[3][80];//定义字符串upp = low = dig = spa = oth = 0;for (i = 0; i < 3; i++){printf("please input line %d:\n", i + 1);gets_s(text[i]);for (j = 0; j < 80 && text[i][j] != '\0'; j++)//通过循环来计算各字符的个数{if (text[i][j] >= 'A'&& text[i][j] <= 'Z') upp++;else if (text[i][j] >= 'a' && text[i][j] <= 'z') low++;else if (text[i][j] >= '0' && text[i][j] <= '9') dig++;else if (text[i][j] == ' ') spa++;elseoth++;算法描述:程序核心代码:#include<stdio.h>int main(){int i, j, upp, low, dig, spa, oth;char text[3][80];upp = low = dig = spa = oth = 0;for (i = 0; i < 3; i++){printf("please input line %d:\n", i + 1);gets_s(text[i]);for (j = 0; j < 80 && text[i][j] != '\0'; j++){if (text[i][j] >= 'A'&& text[i][j] <= 'Z') upp++;else if (text[i][j] >= 'a' && text[i][j] <= 'z') low++;else if (text[i][j] >= '0' && text[i][j] <= '9') dig++;else if (text[i][j] == ' ') spa++;elseoth++;}}printf("\nupper case: %d\n", upp);printf("lower case: %d\n", low);printf("digit : %d\n", dig);printf("space : %d\n", spa);printf("other : %d\n", oth);return 0;}五、实验结果与数据分析:(有运行结果的界面截图,实验结果与实验结果分析,说明实验结果是否达到要求?并提出对程序的改进想法)。

相关主题