1、连接两个字符串
将两个字符串连接,不要用stract函数
1 #include<stdio.h> 2 #include<string.h> 3 #define N 100 4 int main() 5 { 6 char a[2*N] = "", b[N] = ""; 7 scanf("%s%s",a,b); 8 /* strcpy(&a[strlen(a)],b);//没有用strcat用的strcpy 9 */ 10 //不用函数 11 int i; 12 for(i=0; a[i]; ++i);//求字符串'\0'下标 13 char *p = a+i, *q = b; 14 while(*q) 15 { 16 *p++ = *q++; 17 } 18 *p = '\0'; 19 20 printf("%s\n",a); 21 return 0; 22 }
2、求矩阵外围元素之和
求3行3列矩阵的外围元素之和。
1 #include <stdio.h> 2 #include <malloc.h> 3 int main() 4 { 5 int sum=0, n=3; 6 int *arr = (int*)malloc(sizeof(int)*n*n); //一维模拟二维数组 7 8 for(int i=0; i<n*n; ++i) 9 { 10 scanf("%d",&arr[i]); 11 } 12 13 for(int i=0; i<n; ++i) 14 { 15 for(int j=0; j<n; ++j) 16 { 17 if(i==0||i==n-1 || j==0|| j==n-1 ) 18 { 19 sum += arr[i*n+j]; //一行n个 20 } 21 } 22 } 23 24 printf("%d ",sum); 25 26 return 0; 27 }
3、求矩阵主对角线和副对角线元素之和
求5行5列矩阵的主对角线和副对角线元素之和。
1 #include <stdio.h> 2 #define N 5 3 int main() 4 { 5 char str[N][N]; 6 int i,j,sum=0; 7 8 for(i=0; i<N; ++i) 9 for(j=0; j<N; ++j) 10 scanf("%d",&str[i][j]); 11 12 for(i=0; i<N; ++i) 13 for(j=0; j<N; ++j) 14 { 15 if(i==j) 16 sum += str[i][j]; 17 if(i==N-j-1) 18 sum += str[i][j]; 19 } 20 printf("sum=%d\n",sum); 21 return 0; 22 }
4、将字符串的小写字母转换为大写字母
编写程序,把键盘输入的字符串中的小写字母转换为大写字母。
1 #include <stdio.h> 2 #define N 1000 3 int main() 4 { 5 char str[N]=""; 6 int i=0; 7 gets(str); 8 9 while(str[i]){ 10 if(str[i]>='a'&&str[i]<='z') 11 str[i] -= 32; 12 i++; 13 } 14 printf("%s\n",str); 15 return 0; 16 }