大连理工大学C语言夏浩老师第四次上机作业_第1页
大连理工大学C语言夏浩老师第四次上机作业_第2页
大连理工大学C语言夏浩老师第四次上机作业_第3页
大连理工大学C语言夏浩老师第四次上机作业_第4页
大连理工大学C语言夏浩老师第四次上机作业_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 题目描述:排序:使用起泡法和选择法对10个整数实现递减排序。分析:将冒泡排序代码中的变成即为沉底排序,选择排序也一样.流程图:开始 输入10个整数进行沉底排序和选择排序输出排序后的数列结束程序代码:#includevoid main() int i,a10,b10; int j,t,k; printf(10个数沉底排序和冒泡排序n); printf(原始数列:); for(i=0;i10;i+) scanf(%d,&ai); bi=ai; for(j=0;j9;j+) for(i=0;i9-j;i+) if(aiai+1) t=ai+1; ai+1=ai; ai=t; for(j=0;j

2、9;j+) k=j; for(i=j+1;i9;i+) if(bkbi) k=i; if(k!=j) t=bj; bj=bk; bk=t; printf(沉底排序后的数列:); for(i=0;i10;i+) printf(%2d,ai); printf(n); printf(冒泡排序后的数列:); for(i=0;i90 - 1 97 87 92 276 92 N 2 92 91 90 273 91 Y 3 90 81 82 253 84 N . 题目分析:在二维数组输入10个人三科成绩,在第一层循环计算总数和平均数,并判断平均数是否大于90.流程图:开始用二维数组输入成绩 按分析进行相应运

3、算输出列表结束程序代码:#include#define num 10int sum(int grade3,int i);int main() int gradenum3; int i,j;int s=0,a=0; for(i = 0 ;i num ;i+) for(j = 0 ;j 90n); printf(-n); for(i = 0 ;i num ;i+) printf(%2d ,i+1); for(j = 0 ;j = 90) printf( Yn); else printf( Nn); return 0;屏幕截图:3. 题目描述:统计大写辅音字母个数:某文本共有3行,每行不超过80个字

4、符,试编写一个程序统计该文本中大写辅音字母的个数(文本由键盘输入)。例: 输入 HELLOIT12uieiaba输出 There are 4 capital consonant letters in this paper.题目分析:定义三个字符串数组,一个字符串数组输入后马上判断字符是否为大写字母同时判断不为AEIOU五个字符,符合则count+1,直到三个数组输入完毕,输出count值。流程图:开始 输入三个字符串数组按分析进行相应运算输出count结束代码:#includemain()int count=0,i,r;char ch,str81;printf(Input 3 strings:

5、n);for(r=1;r=A&stri=Z)if(stri!=A&stri!=E&stri!=I&stri!=O&stri!=U)count+;printf(There are %d capital consonant letters in this letter.n,count);return 0;屏幕截图:4题目描述:字符串连接:试编写一个程序连接两个字符串(不使用库函数strcat())。例:输入 第一个字符串:: Welcome to 第二个字符串: China输出 Welcome to China题目分析:分别输入两个字符串数组,将第二个数组中的每个元素变为第一个数组最后一个元素之后

6、依次的元素,输出第一个字符串数组。流程图:开始输入两个字符串数组按分析进行运算输出第一个数组结束程序代码:#include#include#includevoid main()int i=0,j=0; char str1100,str250; printf(第一个字符串:); gets(str1); printf(第二个字符串:); gets(str2); for(i=0;str1i!=0;i+); for(j=0;str2j!=0;j+) str1i+=str2j; str1i=0; printf(%sn,str1);截图:5矩阵运算:读入 1 个正整数 n(1n6),再读入 n 阶方阵,计

7、算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。例:输入 4 2 3 4 15 6 1 17 1 8 11 1 1 1输出 sum=35题目分析:输入一个二维数组,用二重循环将所有数相加再加上左上角、右上角、右下角的三个数再减去副对角线、最后一列和最后一行的和。 流程图:开始输入n以及n*n的二维数组按分析运算输出值结束程序代码:#includevoid main()int sum=0,sum1=0,sum2=0,sum3=0,n,i,j;int a66;printf(Please input n:);scanf(%d,&n);for(i=0;in;i+)for(j=0;jn;j+)

8、scanf(%d,&aij);for(i=0;in;i+)for(j=0;jn;j+)sum+=aij;if(i+j=n-1)sum1+=aij;for(i=0;in;i+)sum2+=ain-1;for(j=0;jn;j+)sum3+=an-1j;sum=sum+a0n-1+an-10+an-1n-1-sum1-sum2-sum3;printf(nsum=%ldn,sum);截屏:附加题:12个小朋友手拉手站成一个圆圈,从第一个小朋友开始报数,报到的那个小朋友退出到圈外,然后他的下一位重新报“1”。这样继续下去,最后只剩下一个小朋友,他原来站在什么位置上呢?并把输出小朋友退出圈外的顺序程序代码:#include int main() int i,j,n=0,sum,I,A12=1,1,1,1,1,1,1,1,1,1,1,1; printf(The array is:); for(i=0;i12;i+) if(Ai!=0) n+; if(n=6) Ai=0; n=0; printf(%d ,i+1); if(i=11

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论