Acwing 737.数组替换
#include
using namespace std;int main()
{int x[10];for(int i = 0; i < 10; i++){scanf("%d",&x[i]);// 输入 10 个数据}for(int i = 0; i < 10; i++){if(x[i] <= 0)x[i] = 1;}for(int i = 0; i < 10; i++){printf("X[%d] = %d\n",i,x[i]);}return 0;
}
Acwing 738.数组填充
#include
#include
using namespace std;int main()
{int a;scanf("%d",&a);int n[10];n[0] = a;// 这里不能加intfor(int i = 1; i < 10;i++){n[i]=n[i-1]*2;}for(int i = 0; i < 10; i++){printf("N[%d] = %d\n",i,n[i]);}
}
Acwing 739.数组选择
#include
using namespace std;int main()
{double x[100];for(int i = 0; i < 100; i++){scanf("%lf",&x[i]);}for(int i = 0; i < 100; i++){if(x[i] <= 10){printf("A[%d] = %.1lf\n", i, x[i]);}}return 0;
}
Acwing 743.数组中的行
#include
using namespace std;int main()
{double m[12][12];int a;cin >> a;char b;cin >> b;double sum = 0;for(int i = 0;i < 12;i++)for(int j = 0;j < 12;j++){scanf("%lf",&m[i][j]);}if(b == 'S'){for(int i = 0;i <12;i++){sum += m[a][i];}printf("%.1lf\n",sum);}else if(b == 'M'){for(int i = 0;i < 12;i++){sum += m[a][i];}double mean = sum / 12;printf("%.1lf\n",mean);}return 0;
}
Acwing 745.数组的右上半部分
#include
using namespace std;int main()
{char t;// 首先进行输入scanf("%c",&t);double a[12][12];for(int i = 0; i <12; i++)for(int j = 0; j< 12; j++)scanf("%lf",&a[i][j]);int c = 0;// 记录元素个数double s = 0;// 记录元素的和for(int i=0; i<12; i++)for(int j=i+1; j<12; j++){c++;s+=a[i][j];}if(t == 'S') printf("%.1lf\n",s);else printf("%.1lf\n",s/c);return 0;
}
Acwing 747.数组的左上半部分
#include
#include
using namespace std;int main()
{char t;cin >> t;double a[12][12];for(int i = 0; i < 12;i++)for(int j = 0;j < 12;j++)scanf("%lf",&a[i][j]);int c = 0;// countdouble s = 0;// sumfor(int i = 0; i < 12; i++)for(int j = 0; j <= 10-i;j++){c++;s +=a[i][j];}if (t == 'S')printf("%.1lf\n",s);else printf("%.1lf\n",s/c);return 0;
}
Acwing 749.数组的上方区域
#include
#include
using namespace std;int main()
{char t;scanf("%c",&t);double a[12][12];for(int i = 0; i < 12; i++)for(int j = 0; j < 12; j++)scanf("%lf",&a[i][j]);int c = 0 ;double s = 0;for(int i = 0; i < 5;i++)for(int j = i+1; j<=10-i;j++){c++;s+=a[i][j];}if( t=='S') printf("%.1lf\n",s);else printf("%.1lf\n",s/c);return 0;
}
Acwing 751.数组的左方区域
#include
using namespace std;int main()
{char t;double a[12][12];scanf("%c", &t);for (int i = 0; i < 12; i ++ )for (int j = 0; j < 12; j ++ )scanf("%lf", &a[i][j]);double s = 0, c = 0;for (int i = 0; i < 5; i ++ )for (int j = i + 1; j <= 10 - i; j ++ ){c += 1;s += a[j][i];// 将之前的算法进行行列互换}if (t == 'S') printf("%.1lf\n", s);else printf("%.1lf\n", s / c);return 0;
}
Acwing 753.平方矩阵1
#include
#include
using namespace std;int main()
{int n;while(cin >> n, n){for(int i = 1; i <= n; i++)// 行{for(int j = 1; j <= n ; j++)// 列{int up = i, down = n - i+1 , left = j, right = n-j+1;cout << min(min(up,down),min(left,right)) << ' ';// 求4个数那个最小}cout << endl;}cout << endl;}return 0;
}
Acwing 740.数组变换
#include
using namespace std;int main()
{int a[20];for(int i = 0; i < 20; i++){scanf("%d",&a[i]);}for(int i = 0; i < 20; i++)printf("N[%d] = %d\n",i,a[19-i]);return 0;
}
Acwing 741.斐波那契数列
#include
#include
using namespace std;int main()
{long long f[61];f[0]=0, f[1]=1;//直接赋值,不可以用int f[0]=1for(int i= 2; i<=60;i++) f[i]=f[i-1]+f[i-2];int n;cin >> n;while(n--)// n个测试数据{int x;cin >> x;printf("Fib(%d) = %lld\n",x,f[x]);}
}
Acwing 742.最小数和它的位置
#include
using namespace std;int main()
{int n;cin >> n;// 输入n个数据int a[1000];for(int i = 0;i < n;i++){scanf("%d",&a[i]);}int p = 0;for(int i=1;iif(a[p]>a[i]){p=i;}}printf("Minimum value: %d\n",a[p]);printf("Position: %d",p);
}
Acwing 744.数据中的列
#include
#include
using namespace std;int main()
{int a;cin >> a;// a表示第几列char b;// 输入字母cin >> b;double m[12][12];for(int i=0;i<12;i++)for(int j=0;j<12;j++)scanf("%lf",&m[i][j]);// 输入12*12个数据double sum=0;if(b =='S')// 求某一列的元素和{for(int i=0;i<12;i++){sum+=m[i][a];}printf("%.1lf\n",sum);}else if(b == 'M'){for(int i = 0; i <12; i++){sum+=m[i][a];}double mean = sum/12;// 第a列元素的平均值printf("%.1lf\n",mean);}return 0;
}
Acwing 748.数组的右下半部分
#include
using namespace std;int main()
{char t;scanf("%c",&t);double a[12][12];// 输入12*12个数据for(int i = 0; i < 12; i++)for(int j = 0;j < 12;j++)scanf("%lf",&a[i][j]);// i=1,j=11,j>10;i=2,j=11,j>9int c = 0;double s = 0;for(int i = 1;i < 12; i++)for(int j = 11;j > 11-i; j--){c++;// 记录有多少个数据s+=a[i][j];}if(t =='S') printf("%.1lf\n",s);else printf("%.1lf\n",s/c);return 0;
}
Acwing 746.数组的左下半部分
#include
#include
using namespace std;int main()
{char t;scanf("%c",&t);double a[12][12];for(int i = 0; i < 12; i++)for(int j = 0; j < 12; j++)scanf("%lf",&a[i][j]);double s = 0, c = 0;for(int i = 1; i< 12; i++)for(int j = 0; j<=i-1; j++){c += 1;s += a[i][j];}if(t=='S') printf("%.1lf",s);else printf("%.1lf",s/c);return 0;
}
Acwing 750.数组的下方区域
#include
using namespace std;int main()
{char a;cin >> a;double m[12][12];for(int i=0;i<12;i++)for(int j=0;j<12;j++)cin >> m[i][j];double c=0,s=0;for(int i=7;i<=11;i++)for(int j=12-i;j<=i-1;j++){c+=1;s+=m[i][j];}if( a=='S') printf("%.1lf\n",s);else printf("%.1lf\n",s/c);return 0;
}
Acwing 752.数组的右方区域
#include
using namespace std;
int main()
{char t;cin >> t;double m[12][12];for(int i=0;i<12;i++)for(int j=0; j<12;j++)cin >> m[i][j];double c=0,s=0;for(int i=7;i<=11;i++)for(int j=12-i;j<=i-1;j++){c+=1;s+=m[j][i];}if(t=='S')printf("%.1lf",s);else printf("%.1lf",s/c);return 0;
}
Acwing 754.平方矩阵II
#include
#include
using namespace std;int main()
{double a[100][100];int n;while(cin >> n,n){for(int i=0;ia[i][i]=1;for(int j=i+1;jfor(int j=0;j
Acwing 755.平方矩阵III
#include
#includeusing namespace std;int main()
{int n;while(cin >> n,n){for(int i=0;ifor(int j=0;jint v=1;for(int k=0;k
Acwing 756.蛇形矩阵
#includeusing namespace std;int res[100][100];
int main()
{int n,m;cin >> n>> m;int dx[]={0,1,0,-1},dy[]={1,0,-1,0};for(int x=0,y=0,d=0,k=1;k<=n*m;k++){res[x][y]=k;int a=x+dx[d],b=y+dy[d];if(a<0||a>=n||b<0||b>=m||res[a][b])//撞墙{d=(d+1)%4;a=x+dx[d],b=y+dy[d];}x= a,y=b;}for(int i=0;ifor(int j=0;j