• 团体程序设计天梯赛-练习集(二)(string.reverse()函数用法、string.resize()函数用法、L1-041(*)、L1-039(*)、L1-032(*)、L1-028(*))


    L1-041 寻找250 (10分)

    https://pintia.cn/problem-sets/994805046380707840/problems/994805089657536512

    #include <cstdio>
    #include <iostream>
    using namespace std;
    int main()
    {
    	int n,flag=0;
    	int num=1;
    	int value;
    	while(scanf("%d",&n)!=EOF){   //这里还可以写成①cin>>n  ②~scanf("%d",&n)
    		if(n==250&&flag==0)
    		{
    			value=num;
    			flag=1;
    		}
    		num++;
    	}
    	cout<<value<<endl;
    	return 0;
    }
    

    L1-039 古风排版 (20分)

    https://pintia.cn/problem-sets/994805046380707840/problems/994805091888906240

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <string>
    using namespace std;
    int main()
    {
    	int n,len=0,i,x,j;
    	char chr[1100];
    	memset(chr,0,sizeof(chr));
    	cin>>n;
    	getchar();  //这一步不要忘了
    	while((chr[len]=getchar())!='
    ') {len++;}
    	if(len%n!=0) {
    	for(i=0,x=len;i<n-len%n;i++) chr[x++]=' ';}
    	else x=len;
    	for(i=0;i<n;i++)
    	{
    		for(j=x/n-1;j>=0;j--)
    		{
    			printf("%c",chr[j*n+i]);
    		}
    		cout<<endl;
    	 } 
    	 return 0;
    }
    

    L1-032 Left-pad (20分)

    https://pintia.cn/problem-sets/994805046380707840/problems/994805100684361728

    法一:

    #include <iostream>
    #include <algorithm>
    #include <cmath>
    #include <cstdio>
    #include <cstring>
    #include <string>
    using namespace std;
    int main()
    {
    	int n,len;
    	int i,j,k;
    	char chr;
    	char str[40000];  //开始定义为1000,两个测试点过不了
    	cin>>n;
    	cin>>chr;
    	getchar();   //这句话老忘!!!
    	cin.getline(str,40000);
    	len=strlen(str);
    	if(len>=n)
    	{
    		for(i=len-n;i<len;i++) printf("%c",str[i]);
    		cout<<endl;
    	}
    	else if(len<n)
    	{
    		for(i=0;i<n-len;i++) printf("%c",chr);
    		puts(str);
    	}
    	return 0;
    }  

    法二:

    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main() {
    	string s;
    	char t;
    	int n;
    	cin >> n >> t;
    	getchar();
    	getline(cin,s);
    	reverse(s.begin(), s.end());
    	s.resize(n,t);//将字符串重新分配大小,如果过大使用指定的字符填充
    	reverse(s.begin(), s.end());
    	cout << s << endl;
      return 0;
    }  

    string.reverse()函数用法:https://blog.csdn.net/qq_40828914/article/details/81138117

    string.resize()函数用法:resize调整容器中有效数据区域的尺寸,如果尺寸变小,原来数据多余的截掉。若尺寸变大,不够的数据用该函数第二个参数填充,影响size

    L1-028 判断素数 (10分)

    https://pintia.cn/problem-sets/994805046380707840/problems/994805106325700608

    注意一下特判a[i]为1情况,此时为素数;

    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    int main()
    {
    	int n;
    	int i,j,k,a[12];
    	cin>>n;
    	for(i=0;i<n;i++) cin>>a[i];
    	for(i=0;i<n;i++)
    	{
    		if(a[i]==1) puts("No");
    		else{
    		k=(int)sqrt((double)a[i]);
    		for(j=2;j<=k;j++) 
    		if(a[i]%j==0) break;
    		if(j>k) puts("Yes");
    		else puts("No");
    	    }
    	}
    	return 0;
    }
    

      

      

    天晴了,起飞吧
  • 相关阅读:
    fedora 安装open office
    git rebase(转)
    javascript typeof
    正则表达式入门
    XML格式
    zz 通用线程:Awk 实例,第 3部分
    ELF BIN HEX
    i2c总线(iic总线/ I square C)
    grep
    把Nginx注册成Windows 系统服务(转载)
  • 原文地址:https://www.cnblogs.com/jianqiao123/p/12076479.html
Copyright © 2020-2023  润新知