2 条题解

  • 0
    @ 2025-10-21 18:11:22
    #include<stdio.h>
    #include<string.h>
    
    int main(){
    	char tot[105];
    	
    	fgets(tot,sizeof(tot),stdin);
    	
    	int i;
    	
    	for(i=0;i<strlen(tot);i++){
    		if(i==0||tot[i-1]==' '){
    			if(tot[i]>='a'&&tot[i]<='z'){
    				tot[i]-=32;
    			}
    		}
    	}
    
    	printf("%s",tot);
    	
    	return 0;
    	
    } 
    
    • 0
      @ 2025-10-2 14:26:10

      c语言的话可以使用fgets获得整个字符串,再在遍历的时候找到末尾索引和删改换行符。

      还有需要注意的地方就是单个字符的比较和改大小写。

      #include<stdio.h>
      #include<string.h>
      #include<stdlib.h> 
      #include<math.h>
      
      
      int main(){
      	char a[105];
      	int i=0;
      	int k;
      	fgets(a,sizeof(a),stdin);
      	for(i=0;i<105;i++){
      		if(a[i]=='\n'){
      			a[i]='\0';
      			k=i;
      			break;
      		}
      	}		
      	if(a[0]>='a'&&a[0]<='z'){
      			a[0]-=32;
      		}
      	for(i=0;i<k;i++){
      
      		if(a[i]==' '){
      			if(a[i+1]>='a'&&a[i+1]<='z'){
      				a[i+1]-=32;
      			}
      		}
      	}
      	for(i=0;i<k;i++){
      		printf("%c",a[i]);
      	}
      	return 0;
      }
      
      • 1

      信息

      ID
      232
      时间
      1000ms
      内存
      256MiB
      难度
      1
      标签
      递交数
      416
      已通过
      133
      上传者