0:
#include <stdio.h>
#define NUM 10
int main()
{
char array[NUM][NUM] = {0};
int ch, i,j,k,n;
i = 0;
j = 0;
int sum;
printf("请输入一段字符:");
// getchar();
while((ch = getchar()) != '\n'){
array[i][j] = ch;
j++;
if (j == 3){
i++;
j = 0;
}
}
for (k = 0; k < 3; k++){
for (n = 0; n < 3; n++){
printf("%c ",array[k][n]);
}
printf("\n");
}
return 0;
}
1:
#include <stdio.h>
#include <string.h>
#define NUM 100
int main()
{
char array[NUM] = {0};
int ch, i, j, k, n;
i = 0;
j = 0;
k = 1;
int sum;
printf("请输入一段字符:");
while((ch = getchar()) != '\n'){
array[i] = ch;
i++;
}
sum = strlen(array);
for (i = 0; i < 10; i++){
if ((sum >= i * i) && (sum < ((i+ 1) * (i + 1)))){
for (j = 0; j < (i * i); j++){
printf("%c ",array[j]);
if (j + 1 == (k * i)){ // i*k是为了,当达到相应的倍数时,实现换行,而j+1是因为j是从0开始输出元素
// 而当j == i*k时输出的元素已经大于了i*k,所以+1是为了让倍数正确,并且合理换行
k++;
printf("\n");
}
}
}
}
return 0;
}
2-A:
#include <stdio.h>
int main()
{
float array[3][13] = {
{2014, 0, 0, 0, 0, 0, 0, 0, 31.3, 35.5, 58.7, 49.6, 55.5},
{2015, 59.8, 54.9, 33.1, 38.2, 26.6, 20.5, 27.8, 38.5, 41.5, 44.7, 38.1, 41.5},
{2016, 34.9, 36.4, 47.5, 37.9, 30.6, 23.4, 26.6, 34.3, 0, 0, 0, 0}};
int year, month;
int i, j;
printf("请输入待查询的年月份(年-月):");
scanf("%d-%d",&year,&month);
for (i = 0; i < 3; i++){
if (array[i][0] == year){
for (j = 1; j < 13; j++){
if (j == month){
if (array[i][j] == 0){
printf("抱歉,该月份未收入数据!");
} else {
printf("%d年%d月广州的PM2.5值是:%.2f\n",year,month,array[i][j]);
}
}
}
}
}
return 0;
}
2-B:
#include <stdio.h>
int main()
{
float array[3][13] = {
{2014, 0, 0, 0, 0, 0, 0, 0, 31.3, 35.5, 58.7, 49.6, 55.5},
{2015, 59.8, 54.9, 33.1, 38.2, 26.6, 20.5, 27.8, 38.5, 41.5, 44.7, 38.1, 41.5},
{2016, 34.9, 36.4, 47.5, 37.9, 30.6, 23.4, 26.6, 34.3, 0, 0, 0, 0}};
float MAX = 0;
float MIN = 100;
int i, j,k;
for (i = 0; i < 3; i++){
for (j = 1; j < 13; j++){
if (array[i][j] > MAX){
MAX = array[i][j];
}
if ((array[i][j] != 0) && (array[i][j] <= MIN)){
MIN = array[i][j];
}
}
}
printf("最小值:%.2f 最大值:%.2f\n",MIN,MAX);
for ( i = 0; i < 3; i++){
for (j = 1; j < 13; j++){
if (array[i][j] != 0){
k = 1;
k = (int)array[i][j] - (int)MIN;
if (k == 0){
k = 1;
}
printf("%d年%2d月:",(int)array[i][0],j);
for (int x = 1; x <= k; x++){
printf("*");
}
printf("\n");
}
}
}
return 0;
}