东华考研复试81-90oj

在这里插入图片描述

#include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main(){
	char n[100];
	int i=0,count=0;
	while(gets(n)){
		while(n[i]!='.')
			i++;
		i++;
		while(n[i]!='\0')
			count++,i++;
		printf("%d\n",count);
		i=0,count=0;
	}
	return 0;
}


在这里插入图片描述

#include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

#define MAX 100001000
char a[18] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','-'};
int b[100];
int top;
void ans(int n,int m)
{
    int flag = 0;
    if(n < 0)
    {
        flag = 1;
        n = -n;
    }
    while(n)
    {
        b[top++] = n % m;
        n /= m;
    }
    if(flag)
    {
        b[top++] = 16;
    }
}
int main()
{
    int n,m,i;
    while(scanf("%d%d",&n,&m) != EOF)
    {
        top = 0;
        ans(n,m);
        for(i = top-1;i >= 0;i--)
        {
            printf("%c",a[b[i]]);
        }
        if(n == 0)
            printf("0");
        printf("\n");
    }
    return 0;
}

在这里插入图片描述

#include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main(int argc, char *argv[]) {
	int i=0,num=0,ret=0,count=0,temp,len;
	char preOp='+';
	char str[1000]="";
	while(gets(str)!=NULL){
		count=ret=i=0; 
		len=strlen(str);
		while(i<len) {
			while(str[i] == ' '){
				i++;	
			}
			count++;
			if (count==1&&(str[i]>='0'&&str[i]<='9')) {
				preOp='+';
				num=0;
				while(str[i]>='0'&&str[i]<='9') {
					temp=str[i]-'0';
					num=num*10+temp;
					i++;
				}
				ret=num;
				continue;
			}
			
			preOp=str[i++];// 读运算符 
			while(str[i]==' ')// 忽略空格
				i++;
			num=0;
			while(str[i]>='0'&&str[i]<='9') {
				temp=str[i]-'0';
				num=num*10+temp;
				i++;
			}	
			
			if(preOp=='+'){
				ret+=num;
			}
			else{
				ret-=num;	
			}
		}
		printf("%d\n",ret);
	}
	
	return 0;
}

在这里插入图片描述

#include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main(){
	char str[30];
	char n;
	int flag=0;
	gets(str);
	scanf("%c",&n);
	for(int i=0;str[i]!='\0';i++){
		while(str[i]==n){
			for(int j=i;str[j]!=NULL;j++)
				str[j]=str[j+1];
		}
	}
	for(int k=0;str[k]!=NULL;k++)
		printf("%c",str[k]);
	return 0;
}

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
void put(char str[]);
int main(){
	char str[12];
	int n;
	scanf("%d",&n);
	getchar();
	while(n--){
		gets(str);
		put(str);
	}
	return 0;
}
void put(char str[]){
	int i;
	printf("6");
	for(i=6;str[i]!='\0';i++){
		printf("%c",str[i]);
	}
	printf("\n");
}


在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;

int main() {
	char str[200];
	int n, i, count;
	while(cin>>n) {
		getchar();
		while(n--) {
			count = 0;
			gets(str);
			for (i = 0; str[i] != '\0'; i++) {
				if (str[i] >= 'a' && str[i] <= 'z') {
					count++;
				}
			}
			cout<<count<<endl;
		}	
	}return 0;
}

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
int main(){
	int op1,op2,answer,res,count;
	char ch1,ch2;
	char str[100];
	count=0;
	while(scanf("%s",&str)!=EOF){
		if(strchr(str,'?')==0){
			sscanf(str,"%d%c%d%c%d",&op1,&ch1,&op2,&ch2,&res);
			if(ch1=='+'){
				answer=op1+op2;
			}
			if(ch1=='-'){
				answer=op1-op2;
			}
			if(answer==res)
				count++;
		}
	}
	printf("%d\n",count);
	return 0;
}

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
int main(){
	int len,i,j;
	char str[101];
	char key;
	while(gets(str)){
		len=strlen(str);
		for(i=1;i<len;i++){		//直接插入排序
			if(str[i]<str[i-1]){
				key=str[i];
				for(j=i-1;j>=0 && key < str[j];j--){
					str[j+1]=str[j];
				}
				str[j+1]=key;
			}
		}
		puts(str);		//简直大爱这个输出函数,不仅省几个字而且还自动换行
	}
	return 0;
}


在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
int main(){
	int len,i,j,flag;
	char str[101];
	while(gets(str)){
		flag=1;
		len=strlen(str);
		for(i=0,j=len-1;i<len/2;i++,j--){	
			if(str[i]!=str[j]){
				printf("No\n");
				flag=0;
				break;
			}
		}
		if(flag)
			printf("Yes\n");
	}
	return 0;
	}


在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
void count(char str[],int n);

int main(){
	char str[501];
	int len;
	while(gets(str)){	//输入多组测试数据
		len=strlen(str);
		count(str,len);	//调用函数
	}
	return 0;
}

//计算整数的个数并输出
void count(char str[],int n){
	int i,j,k;
	int a[501]={0};		//用来存放整数,因为不知道有多少个,暴力点,空间足够大,初始值为0
	j=0;
	for(i=0;i<n;i++){
		if(isdigit(str[i])){	//如果是数字
			while(isdigit(str[i])){	//接下来的字符也是数字的情况下
				k=str[i]-'0';	//将数字字符转化整数的数字,不理解看ASC码
				a[j]=k+a[j]*10;	//则乘10加上数字(自己举个例子就可以懂)
				i++;	//不断往后进行是否为数字的判断
			}
			j++;	//结束,存放整数的数组下标往后移一位
		}
	}
	printf("%d",j);	//输出数组元素的个数,也就是整数的个数
	for(i=0;i<j;i++){
		printf(" %d",a[i]);
	}
	printf("\n");
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值