文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
}
}
printf(\
printf(\fflush(stdin); ch=getchar();
if(ch=='n' || ch=='N') break;
思考题:
某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析: ? A、B至少有一人作案;
? A、E、F三人中至少有两人参与作案; ? A、D不可能是同案犯;
? B、C或同时作案,或与本案无关; ? C、D中有且仅有一人作案;
? 如果D没有参与作案,则E也不可能参与作案。 试编一程序,将作案人找出来。 #include
五位跳水高手将参加十米高台跳水决赛,有好事者让五个人据实力预测比赛结果。
11文档收集于互联网,如有不妥请联系删除.
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
? A选手说:B第二,我第三; ? B选手说:我第二,E第四; ? C选手说:我第一,D第二; ? D选手说:C最后,我第三; ? E选手说:我第四,A第一;
决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错,请编程解出比赛的实际名次。 #include
{ int a,b,c,d,e,ta,tb,tc,td,te,t; for(a=1;a<=5;a++)
for(b=1;b<=5;b++)
for(c=1;c<=5;c++)
for(d=1;d<=5;d++) { e=15-a-b-c-d;
if(a*b*c*d*e==120) /*a?b?c?d?e*/ { ta=((b==2)+(a==3))==1; tb=((b==2)+(e==4))==1; tc=((c==1)+(d==2))==1; td=((c==5)+(d==3))==1; te=((e==4)+(a==1))==1; t=ta+tb+tc+td+te; if(t==5) printf(\ } }
}
第三次上机作业参考答案:
1.排序:使用起泡法和选择法对10个整数实现递减排序。
起泡法:
#include
{ int a[N],i,j,t;
printf(\ for(i=0;i scanf(\ printf(\ for(j=1;j<=N-1;j++) for(i=0;i<=N-j-1;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf(\ 12文档收集于互联网,如有不妥请联系删除. 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. for(i=0;i printf(\} 选择法: #include { int a[N],i,j,t; printf(\ for(i=0;i scanf(\ printf(\ for(i=0;i for(j=i+1;j printf(\ for(i=0;i printf(\} 2.统计 从键盘输入10个学生的数学(MT)、英语(EN)和物理(PH)成绩,并按照如下统计形式输出,包括学生学号(NO)、各科成绩、总成绩(SUM)、平均分(AVE)及是否每科都超过90分(‘Y’ or ‘N’) NO MT EN PH SUM AVE >90 -------------------------------------------------------------------- 1 97 87 92 276 92 N 2 92 91 90 273 91 Y 3 90 81 82 253 84 N ..... #include { printf(\ scanf(\ printf(\ 13文档收集于互联网,如有不妥请联系删除. 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. for(j=1;j<=M;j++) scanf(\ } for(i=0;i for(j=1;j<=M;j++) { s[i][M+1]+=s[i][j]; if(s[i][j]>=90) count++; } s[i][M+2]=s[i][M+1]/M; if(count>=M) s[i][M+3]='Y'; else s[i][M+3]='N'; } printf(\ MA EN PH SUM AVE >90\\n\ for(i=0;i { for(j=0;j printf(\ printf(\ printf(\ } } 3. 统计大写辅音字母个数 某文本共有3行,每行不超过80个字符,试编写一个程序统计该文本中大写辅音字母的个数。 例: 输入 HELLO IT12 uieiaba 输出 There are 4 capital consonant letters in this paper. #include char str[N][MAXLEN]; for(i=0,count=0;i for(j=0;str[i][j]!='\\0';j++) if(str[i][j]>='A' && str[i][j]<='Z' && str[i][j]!='A' && str[i][j]!='E' && str[i][j]!='O' && str[i][j]!='I' && str[i][j]!='U') count++; } printf(\ 14文档收集于互联网,如有不妥请联系删除. 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. } 4.字符串连接 试编写一个程序连接两个字符串(不使用库函数strcat())。 例:输入 The first string: Welcome to The second string: China 输出 Welcome to China #include char str1[MAXLEN], str2[MAXLEN]; puts(\ gets(str1); puts(\ gets(str2); for(i=0;str1[i]!='\\0';i++); for(j=0;str2[j]!='\\0';) str1[i++]=str2[j++]; str1[i]='\\0'; puts(\ puts(str1); } 5.矩阵运算 读入 1 个正整数 n(1≤n≤6),再读入 n 阶方阵,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。 例:输入 4 2 3 4 1 5 6 1 1 7 1 8 1 1 1 1 1 输出 sum=35 #include { int a[N][N],i,j,n,sum; scanf(\ for (i=0;i scanf(\ sum=0; for (i=0;i if(i==n-1 || j==n-1 || i+j==n-1 ) continue; else sum+=a[i][j]; 15文档收集于互联网,如有不妥请联系删除.
相关推荐: