C编程(C语言程序设计,大连理工大学MOOC)

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 }

猜你喜欢

转载自www.cnblogs.com/GoldenEllipsis/p/11727392.html