[作业] 2020 C语言真题 12与9月

文章包含多个C++代码片段,展示了数组元素交换、字符串字符处理、整数运算、数组排序以及条件判断等基本算法的实现。
摘要由CSDN通过智能技术生成

十二月:

#include <iostream>
using namespace std;
int main(){
	int a[110],n,k;
	cin>>n>>k;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	for(int i=0;i<=k/2;i++){
		swap(a[i],a[k-i-1]);
	}
	for(int i=0;i<n;i++){
		cout<<a[i]<<' ';
	}
	return 0;
}

#include <iostream>
#include <string.h>
using namespace std;
int main(){
	char ch[1100];
	cin.getline(ch,1100);
	int len=strlen(ch);
	for(int i=0;i<len;i++){
		if(ch[i]>='A'&&ch[i]<='E')ch[i]+=21;
		else if(ch[i]<='Z'&&ch[i]>='E')ch[i]-=5;
	}
	cout<<ch;
	return 0;
}

#include <iostream>
using namespace std;
bool a[110][110];
bool aeh,ael;//每行,每列是否符合条件
int main(){
	int jh=-1,jl=-1,n;
	cin>>n;
	int ch=0,cl=0;
	bool flag=0,rt=0;
	for(int i=0;i<n;i++){
		int sum=0;
		for(int j=0;j<n;j++){
			cin>>a[i][j];
			sum+=a[i][j];
		}
		aeh=(sum%2);
		if(aeh){
			jh=i;
			if(flag){
				rt=1;
			}
			flag=1;
		}
	}
	flag=0;
	for(int i=0;i<n;i++){
		int sum=0;
		for(int j=0;j<n;j++){
			sum+=a[j][i];
		}
		ael=(sum%2);
		if(ael){
			jl=i;
			if(flag){
				rt=1;
			}
			flag=1;
		}
	}
	if(rt){
		cout<<"corrupt";
		return 0;
	}
	if(jh==-1&&jl==-1){
		cout<<"OK";
	}
	else cout<<jh+1<<' '<<jl+1;
	return 0;
}

#include <iostream>
using namespace std;
int main(){
	int a[510],n,l=0,t;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>t;
		if(t%2){
			a[l]=t;
			l++;
		}
	}
	for(int i=0;i<l;i++){
		for(int j=0;j<l-i-1;j++){
			if(a[j]>a[j+1])swap(a[j],a[j+1]);
		}
	}
	cout<<a[0];
	for(int i=1;i<l;i++){
		cout<<','<<a[i];
	}
	return 0;
}

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
	int N,a[10100],k[10100],b[10100][30],mb[10100]={0},l=0;
	cin>>N;
	for(int i=0;i<N;i++){
		cin>>a[i]>>k[i];
		for(int j=0;j<k[i];j++){
			cin>>b[i][j];
			mb[b[i][j]]++;
		}
	}
	int ma=0;
	for(int i=1;i<=100;i++){
		if(mb[ma]<mb[i])ma=i;
		else if(mb[ma]==mb[i]&&i<ma)ma=i;
	}
	cout<<ma<<endl;
	for(int i=0;i<10000;i++){
		mb[i]=0;
	}
	for(int i=0;i<N;i++){
		for(int j=0;j<k[i];j++){
			if(b[i][j]==ma&&find(mb, mb+10000, a[i])==mb+10000){
				mb[l]=a[i];
				l++;
			}
		}
	}
	for(int i=0;i<l;i++){
		for(int j=0;j<l-i-1;j++){
			if(mb[j]>mb[j+1])swap(mb[j],mb[j+1]);
		}
	}
	for(int i=0;i<l;i++){
		cout<<mb[i]<<' ';
	}
	return 0;
}

 九月:

#include <iostream>
#include <string>
using namespace std;
int main(){
	int N=0;
	char in;
	string str[100];
	while(cin>>str[N]){
		N++;
		if(cin.peek()=='\n')break;
	}
	for(int i=N-1;i>=0;i--){
		cout<<str[i]<<' ';
	}
	return 0;
}

#include <iostream>
#define STA 1 
#define END 9
using namespace std;
int main(){
	int germs[20][20]={0},germs1[20][20]={0},turns;
	cin>>germs[5][5]>>turns;
	for(int y=0;y<turns;y++){
		for(int i=STA;i<=END;i++){
			for(int j=STA;j<=END;j++){
				germs1[i][j]=germs[i][j];
			}
		}
		for(int i=STA;i<=END;i++){
			for(int j=STA;j<=END;j++){
				if(germs1[i][j]!=0){
					int t=germs1[i][j];
					germs[i][j]+=t;
					germs[i+1][j+1]+=t;
					germs[i-1][j+1]+=t;
					germs[i+1][j-1]+=t;
					germs[i-1][j-1]+=t;
					germs[i][j-1]+=t;
					germs[i][j+1]+=t;
					germs[i+1][j]+=t;
					germs[i-1][j]+=t;
				}
			}
		}
	}
	for(int i=STA;i<=END;i++){
		for(int j=STA;j<=END;j++){
			cout<<germs[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
}

#include <iostream>
#include <string>
using namespace std;
int main(){
	int la,lb,l=0;
	string a,b;
	char sum[550]={0};
	cin>>a>>b;
	la=a.length();
	lb=b.length();
	int ai=la-1,bi=lb-1;
	while(ai>=0||bi>=0){
		if(ai>=0&&bi>=0){
			sum[l]+=a[ai]+b[bi]-'0';
			if(sum[l]>'9'){
				sum[l]-=10;
				sum[l+1]++;
			}
			l++;
		}
		else if(ai>=0){
			sum[l]+=a[ai];
			if(sum[l]>'9'){
				sum[l]-=10;
				sum[l+1]++;
			}
			l++;
		}
		else if(bi>=0){
			sum[l]+=b[bi];
			if(sum[l]>'9'){
				sum[l]-=10;
				sum[l+1]++;
			}
			l++;
		}
		ai--;
		bi--;
	}
	if(sum[l]!=0){
		sum[l]+=48;
		cout<<sum[l];
	}
	for(int i=l-1;i>=0;i--){
		cout<<sum[i];
	}
	return 0;
}

#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main(){
	int N,lf=0,lm=0;
	double f[50],m[50];
	string s;
	cin>>N;
	for(int i=0;i<N;i++){
		cin>>s;
		if(s=="female"){
			cin>>f[lf];
			lf++;
		}
		else if(s=="male"){
			cin>>m[lm];
			lm++;
		}
	}
	for(int i=0;i<lm;i++){
		for(int j=0;j<lm-i-1;j++){
			if(m[j]>m[j+1])swap(m[j],m[j+1]);
		}
	}
	for(int i=0;i<lf;i++){
		for(int j=0;j<lf-i-1;j++){
			if(f[j]<f[j+1])swap(f[j],f[j+1]);
		}
	}
	for(int i=0;i<lm;i++)cout<<fixed<<setprecision(2)<<m[i]<<' ';
	for(int i=0;i<lf;i++)cout<<fixed<<setprecision(2)<<f[i]<<' ';
	return 0;
}

#include <iostream>
#include <string>
using namespace std;//这个有点长。。。还是有BUG得改改
string strcf(string,int);//函数的内容在下面
int main() {
	int n;
	string a,t;
	cin>>a;
	t=a;
	n=a.length();
	a=a+a;
	bool b=1,atf=1;
	for(int i=1; i<=n; i++) {
		bool tf=1;
		for(int j=0; j<a.length(); j++) {
			tf=1;
			if(a[j]==strcf(t,i)[0]) {
				for(int x=j;x<j+strcf(t,i).length();x++){
					if(a[x]!=strcf(t,i)[x-j]){
						tf=0;
						break;
					}
				}
				if(a[j+strcf(t,i).length()]!=strcf(t,i)[0]){
					tf=0;
				}
				if(tf){
					break;
				}
			}
		}
		if(!tf){
			cout<<0<<endl;	
			return 0;
		}
	}
	cout<<1<<endl;
	return 0;
}
string strcf(string s,int a) {
	string s1;
	if((s[0]-48)*a>=10) {
		s1='0'+s;
		for(int i=1; i<a; i++) {
			for(int j=1; j<=s.length(); j++) {
				s1[j]+=s[j-1]-48;
			}
		}
		for(int j=s.length(); j>0; j--) {
			while(s1[j]>'9') {
				s1[j-1]+=1;
				s1[j]-=10;
			}
		}
	}
	else{
		s1=s;
		for(int i=1; i<a; i++) {
			for(int j=0; j<s.length(); j++) {
				s1[j]+=s[j-1]-48;
			}
		}
		for(int j=s.length()-1; j>0; j--) {
			while(s1[j]>'9') {
				s1[j-1]+=1;
				s1[j]-=10;
			}
		}
	}
	return s1;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值