Loading... ```c #include <stdio.h> int main(){ //在已知10个整数内,删除其中所有大于15的数据(提示:假如当前数据为1,6,8,2,5,67,44,100,3,16,则输出结果为1,6,8,2,5,3)。 int arr[]={1,6,8,2,5,67,44,100,3,16}; printf("方法一:"); for(int i=0;i<10;i++){ if(arr[i]<15){ printf("%d ",arr[i]); } } printf("\n方法二:"); int arr1[10],len=0; for(int i=0;i<10;i++){ if(arr[i]<15){ arr1[len]=arr[i]; len++; } } for(int i=0;i<len;i++){ printf("%d ",arr1[i]); } printf("\n方法三:"); len=10; for(int i=0;i<len;i++){ if(arr[i]>15){ for(int j=i;j<len;j++){ arr[j]=arr[j+1]; } len--;//每次删除一个数,数字的总量减一 //后面的数字前移会导致下一个数无法判断,所以这里的下标-1是为了和i++抵消 } if(len+1<10)arr[len+1]=0; } for(int i=0;i<len;i++){ printf("%d ",arr[i]); } return 0; } ``` ```c #include<stdio.h> int main() { long nums[9][9],min,max,c; int m,n,a,b,i,j; printf("please puts m and n of nums:\n"); scanf("%d%d",&m,&n); printf("plese input elements of nums(%d*%d)\n",m,n); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&nums[i][j]); } } min=nums[0][0]; max=nums[0][0]; for(i=0;i<m;i++) { for(j=0;j<n;j++) { //查找最大值,并对max和a更新 if(max<nums[i][j]) { max=nums[i][j]; a=i; } else if(min>nums[i][j]) { min=nums[i][j]; b=i; } } } for(j=0;j<n;j++) { c=nums[a][j]; nums[a][j]=nums[b][j]; nums[b][j]=c; } for(i=0;i<m;i++) { for(j=0;j<n;j++) { printf("%d ",nums[i][j]); } printf("\n"); } return 0; } ``` ```c #include <stdio.h> #define MANSIZE 3 int main(){ // int Chinese[MANSIZE]={85,75,95}; // int Math[MANSIZE]= {80,75,85}; // int Sizheng[MANSIZE]={86,80,70}; char Users[4][256]={"李明","张林","王丽","平均值"}; double all[4][5]={ // C语言 高数 英语 思政 总成绩 /*李明*/ {85, 80,88,86,0}, /*张林*/ {75,75,80,80,0}, /*王丽*/ {95,85,70,70,0}, /*平均值*/ {0, 0, 0, 0,0} }; printf("\tC语言\t高数\t英语\t思政\t总成绩\n"); for(int i=0;i<4;i++){ printf("%s",Users[i]); for (int j = 0; j < 5; ++j) { printf("\t%.2lf",all[i][j]); if(i!=3&&j!=4){ all[3][j]+=(all[i][j]/3); } if(j!=4){ all[i][4]+=all[i][j]; } } printf("\n"); } } ``` 最后修改:2023 年 10 月 22 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏