0
点赞
收藏
分享

微信扫一扫

L1-054 福到了 (15 分)

343d85639154 2022-03-12 阅读 100
	char s[N][N];
	for(int i = 0 ; i < n ; i ++)
		for(int j = 0 ;j < n ; j ++)
			cin >> s[i][j];
			
	for(int i = 0 ; i < n ; i ++)
	{
		for(int j = 0 ;j < n ; j ++)
			cout <<  s[i][j];
		cout << endl;
	}

注意这代码在读入时是不会读入空格的
在这里插入图片描述
还有就是这只能存3*3个字符,也即是前九个字符,多余的输入就不会被输出;还有在打印图像中注意输出换行;

cin,getline,cin.getline具体使用博客,后面俩个可以读入空格
C语言二维字符数组的输入,字符串的输出以\0为结尾
二维字符的读入2
getchar,清除缓存
把所有的内容都输入完成并且按下了Enter键后,我们的输入才被送进去了输入缓冲区
eg:
在这里插入图片描述

#include <iostream>
using namespace std;
#include <algorithm>
#include <string.h>

int n;
struct book{
    double price;
    char name[32];
}b[10];

bool cmp(book a,book b)
{
    return a.price < b.price;
}
int main()
{
    cin>>n;
    for(int i=0;i<n;i++) 
    {
        getchar();
        cin.getline(b[i].name,32);
        cin>>b[i].price;
        
    }
    sort(b,b+n,cmp);
    for(int i=0;i<n;i++)
        printf("%s %.1f\n",b[i].name,b[i].price);
    return 0;
    
}
char name[20];
 cin.getline(name, 20); 
 cout << name << endl;

这个只能输出一串;怎么输出两串?

string name[20];
#include<iostream>
#include<cstring>
using namespace std;
/*
$ 9
 @  @@@@@    
@@@  @@@ 
 @   @ @ 
@@@  @@@ 
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
 @  @ @ @
 @  @@@@@
*/
int main(){
	int n,flag = 0;
	char s;
	string a[110];
	scanf("%c %d",&s,&n);
	getchar();//必须有
	for(int i=0;i<n;i++){
		getline(cin,a[i]);//每次输入一行	
	}
	for(int i=0;i<n;i++){//将字符改变成所需要的字符
		for(int j=0;j<n;j++){
			if(a[i][j] != ' '){
				a[i][j] = s;
			}else {//必须有空格
				a[i][j] = ' ';
			}
		
		}
	}
	for(int i=0;i<n;i++){//判断是否相同
		for(int j=0;j<n;j++){
			if(a[i][j] != a[n-i-1][n-j-1]){
				flag = 1;
			}
		}
	}
	if(flag == 0){
		printf("bu yong dao le\n");
	}
	for(int i=n-1;i>=0;i--){//倒着输出
		for(int j=n-1;j>=0;j--){
			printf("%c",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}
举报

相关推荐

L1-054 福到了 (15 分)

福到了 (15 分)

L1-044 稳赢 (15 分)

L1-019 谁先倒 (15 分)

L1-070 吃火锅 (15 分)

0 条评论