8-12题
8.求解十个数中,最大的偶数
#include<stdio.h> int main() { int num[12]; int maxn=0; for(int i=0;i<10;i++){ scanf("%d",&num[i]); if(num[i]%2==0&&maxn<num[i]){maxn=num[i];} } printf("%d\n",maxn); }
9.求大于平均数的数的个数
#include<stdio.h> double num[102],sum=0; int main() { double ave; int i=0,ans=0; while(1){ scanf("%lf",&num[i]); if(num[i]==0){break;}//输入为0,那么跳出循环,不再输入 sum+=num[i]; i++; } ave=sum/i; for(int j=0;j<i;j++){ if(num[j]>ave){ans++;} } printf("%d\n",ans); }
10.十个数的所有素数和
这个题究竟是什么意思?我们一般认为,初始化就是初始为0。这里肯定不是这个意思,而是我们在程序里不需要输入了,直接给他赋值!
#include<stdio.h> int main() { int a[10]={5,8,6,9,7,15,48,46,12,8}; int sum=0; for(int i=0;i<10;i++){ int flag=0;//记录是否是质数 for(int j=2;j*j<=a[i];j++){ if(a[i]%j==0){flag=1;break;}//如果i可以被自己小的某个数整除 //而这个数又不是一,我们就把它标记为非质数 //实际上,没有必要把小于i的数试完 //到根号i就可以了 } if(flag==0){printf("%d ",a[i]);sum+=a[i];} } printf("\n%d\n",sum); }
11.矩阵对角线之和
找清楚位置就行了,由于我这样写,每个点只遍历了一次,所以不用考虑加重的问题
#include<stdio.h> int main() { int num[5][5]; int sum=0; for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ scanf("%d",&num[i][j]); if(i==j||i+j==4){sum+=num[i][j];} } } printf("%d",sum); }
12.矩阵边上的数字和
和上一题一样啊!
#include<stdio.h> int main() { int num[5][5]; int sum=0; for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ scanf("%d",&num[i][j]); if(i==0||j==0||i==4||j==4){sum+=num[i][j];} } } printf("%d",sum); }
如需转载,请注明出处
如有侵权,联系删除
2290713181@qq.com
如有侵权,联系删除
2290713181@qq.com