定义一个含有10个元素的整形数组a,并为前两个元素赋值21,6
直接声明的时候赋值就行
#include <stdio.h>
int main() {
int a[10]={21,6} ;
for(int i=0;i<10;i++){
printf("a[%d]=%d\n",i,a[i]);
}
return 0;
}
定义数组,然后使用a[0]=21,a[1]=6为元素赋值即可。
测试代码如下:
参考链接:
#include <stdio.h>
int main(void){
// https://blog.csdn.net/ZhaDeNianQu/article/details/119725736
int a[10]; // 定义一个包含10个元素的这整形数组a
a[0]=21; // 为数组第一个元素赋值21
a[1]=6; // 为数组第二个元素赋值为6
// 测试打印数组前两个元素的值
for(int i=0;i<2;i++){
printf("a[%d]=%d\n",i,a[i]);
}
return 0;
}
fn(2, 3) = 222
s = 246
问题解答:
// 定义一个含有10个元素的整型数组a,并为其中的前两个元素分别赋值为21和6
int a[10] = {21, 6};
// 添加适当的提示信息
printf("数组a的前两个元素分别为:%d和%d\n", a[0], a[1]);
解释:这道问题很简单,只需要按照要求定义并初始化数组,然后输出相应的提示信息即可。
// 找出二维数组a中的最大元素,并要求输出该元素以及该元素的行号和列号
#include <stdio.h>
#define ROW 3
#define COL 3
int main() {
int a[][COL] = {{1,2,3},{4,5,6},{7,8,9}};
int max = a[0][0];
int maxRow = 0, maxCol = 0;
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
if (a[i][j] > max) {
max = a[i][j];
maxRow = i;
maxCol = j;
}
}
}
printf("max=%d maxRow=%d maxCol=%d\n", max, maxRow, maxCol);
return 0;
}
解释:这是一道二维数组的题目,按照要求定义数组并初始化,然后利用两层循环遍历整个数组,找出其中最大的元素以及它所在的行和列,并输出相应的提示信息。
// C语言从键盘上输入一个字符串,存放在a数组中,并在该串中的最大元素后边插入一个字符
#include <stdio.h>
#include <string.h>
#define N 256
void main() {
char a[N] = {'\0'}, b[N] = {'\0'}, ch, max;
int i, j, k, c;
// 输入字符串
printf("请输入字符串:");
gets(a);
// 输入ch的值
printf("请输入要插入的字符:");
scanf("%c", &ch);
// 求出最大字符
i = 1;
max = a[0];
while (a[i] != '\0') {
if (a[i] > max) {
max = a[i];
}
i++;
}
printf("字符串中的最大字符是:%c\n", max);
// 求出最大字符位置
i = 0;
while (a[i] != '\0') {
if (a[i] == max) {
break;
}
i++;
}
i++;
c = i;
// 把最大的字符后面的字符放在字符串b里
j = 0;
while (a[i] != '\0') {
b[j] = a[i];
j++;
i++;
}
// 把ch赋值给最大值后面的位置
a[c] = ch;
c++;
// 把字符串b的值返回给a
i = 0;
while (b[i] != '\0') {
a[c] = b[i];
c++;
i++;
}
// 输出插入操作后的结果
printf("插入操作后的字符串是:%s\n", a);
return;
}
解释:这道题目要求输入一个字符串,并在其中最大的字符后面插入一个新字符,按照要求可以分别求出最大字符和它所在位置,然后把新字符插入到相应的位置上,最后输出插入操作后的字符串即可。
// 已知整数组a中的非零元素已按由小到大顺序排列,以下程序的功能是每输入一个非零整数,便将该整数插入数组a中,然后将数组a中的元素升序输出
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 10010;
int main() {
int k, n, a[maxn], x;
cin >> k;
while (k--) {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
scanf("%d", &x);
a[n] = x;
// 把x插入到相应位置上,然后排序输出
sort(a, a + n + 1);
for (int i = 0; i <= n; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
return 0;
}
解释:这道题目要求在非零元素已按照从小到大顺序排列的情况下,插入一个新元素,然后对数组进行升序排序。按照要求可以在数组末尾插入新元素,然后直接调用C++标准库中的sort函数进行排序,最后输出相应的结果。
// 定义一个矩阵a,计算矩阵上三角阵(不包括对角线元素)各元素之和,并8行2列输出矩阵a
#include <stdio.h>
int main() {
int a[][3] = {{2, 3, 4}, {5, 6, 7}, {8, 9, 1}};
int t = 0;
for (int i = 0; i < 3; i++) {
for (int j = i+1; j < 3; j++) {
t += a[i][j];
}
}
printf("矩阵上三角阵(不包括对角线元素)各元素之和t=%d\n", t);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%3d", a[i][j]);
if (j == 1) {
printf(" ");
}
}
printf("\n");
}
return 0;
}
解释:这道题目要求计算矩阵上三角阵(不包括对角线元素)各元素之和,并8行2列输出矩阵a。按照要求可以利用两层循环遍历整个数组,找出矩阵上三角阵元素并进行累加计算,然后8行2列输出矩阵即可。