题目:
输入两个数字(如2,8)其中第一个表示将要接受的字符串行数,第二个表示将每一个行字符串按每规定的个数分别输出在不同的行上,不足的个用0补齐。
输入: 2,8
abc
abcdefghijk
输出:
abc00000
abcdefgh
ijk00000
1 #include<stdio.h> 2 void split(char *s, int n) 3 { 4 char sub[50]; 5 int i,j; 6 for(i=0; s[i] != ‘\0‘; i++) 7 ; 8 for(j=i; j%n != 0; j++) 9 s[j] = ‘0‘; 10 s[j] = ‘\0‘; 11 //printf("%s\n",s); 12 j = 0; 13 for(i=0; s[i] != ‘\0‘; i++) 14 { 15 sub[j++] = s[i]; 16 if (j%n == 0 && i!=0){ 17 sub[j] = ‘\0‘; 18 printf("%s\n",sub); 19 j = 0; 20 } 21 } 22 } 23 24 int main() 25 { 26 int n,m; 27 char s[50]; 28 scanf("%d%d",&n,&m); 29 while(n--){ 30 scanf("%s",s); 31 split(s,m); 32 } 33 }
时间: 2024-10-06 04:03:59