3 条题解

  • 1
    @ 2025-9-29 11:36:14
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main() 
    {
        int n;
        char c;
        cin >> n >> c;
        cin.ignore(); // 忽略换行符
        string s;
        getline(cin, s);
        
        int len = s.length();
        if (len < n) 
        {
            int num = n - len;
            for (int i = 0; i < num; i++) 
            {
                cout << c;
            }
            cout << s;
        } 
        else 
        {
            cout << s.substr(0, n);
        }
        return 0;
    }
    
    
    • 0
      @ 2025-9-30 17:12:54

      如果使用c语言的fgets话,记得在获取N和c的时候在后面添加\n,防止读入空行。

      #include<stdio.h>
      #include<string.h>
      #include<stdlib.h>
      
      int main(){
      	int N,i;
      	i=0;
      	int wei=0;
      	char c;
      	scanf("%d %c\n",&N,&c);
      	char z[1000];
      	fgets(z,sizeof(z),stdin);
      	z[strcspn(z,"\n")]='\0';	
      	while(z[i]!='\0'){
      		wei++;
      		i++;
      	} 
      	if(wei==N){
      		for(i=0;i<N;i++){
      			printf("%c",z[i]);
      		}
      	}
      	else if(wei<N){
      		for(i=0;i<N-wei;i++){
      			printf("%c",c);
      		}
      		for(i=0;i<wei;i++){
      			printf("%c",z[i]);
      		}
      	}
      	else{
      		for(i=0;i<N;i++){
      			printf("%c",z[i]);
      		}
      	}
      	
      	return 0;
      }
      
      • -1
        @ 2024-10-9 23:03:44
        #include <stdio.h>
        #include <string.h>
        int main()
        {
            int a;
            int i;
            char b;
            scanf("%d %c",&a,&b);
            getchar();
            char c[1000];
            fgets(c,sizeof(c),stdin);//当扫描到换行符时停止
            if (c[strlen(c)-1]=='\n')//换行符会被打印出来哦,但是你看不见,就会报错哒
            {
                c[strlen(c)-1]='\0';//换行符变为空白
            }
            if (a>strlen(c))
            {
                int d=a-strlen(c);//strlen不会计算'\0'哦
                for (i=0;i<d;i++)
                {
                    printf("%c",b);
                }
                printf("%s",c);
            }else
            {
                for (i=0;i<a;i++)
                {
                    printf("%c",c[i]);
                }
            }
            return 0;
        }
        
        • 1

        信息

        ID
        366
        时间
        1000ms
        内存
        256MiB
        难度
        1
        标签
        递交数
        783
        已通过
        142
        上传者