ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
###(1)分类 ~~~ #include<stdio.h> #include<string.h> int main(){ char str[100],num[100],letter[100]; int i,n,num_sum=0,let_sum=0; scanf("%d\n", &n);//输入字符个数 scanf("%s", str);//输入字符串 if(n!=strlen(str)){ printf("输入字符个数与实际字符个数不相同"); return 0; } for(i=0;i<n;i++){ if(str[i]>='0' && str[i] <= '9') { num[num_sum]=str[i]; num_sum++; } else if(str[i]=='\n') break; } for(i=0;i<n;i++){ if((str[i]>='a' && str[i]<= 'z')||(str[i]>='A' && str[i]<= 'Z')){ letter[let_sum]=str[i]; let_sum++; } else if(str[i]=='\n') break; } printf("%s",num); printf("\n"); printf("%s",letter); printf("\n"); printf("数字%d个,字母%d个",num_sum,let_sum); return 0; } ~~~ ###(2)找出矩阵中的字符 ~~~ #include <stdio.h> #include <string.h> int main(void) { int n,i,j; int x=0; int y=0; scanf("%d",&n); char a[n][n]; do{ for(i=0;i<n;i++){ for(j=0;j<n;j++) scanf("%d",&a[i][j]); } }while((i<n)&&(i!=j)); //┳┳┳┳┳┳输出用户输入数组 for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%d ",a[i][j]); } printf("\n"); } //┻┻┻┻┻┻输出用户输入数组 //┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳以下有错误 for(i=0;i<strlen(a[n]);i++) { if((a[n][i]<'0' || a[n][i] > '9') && a[n][i]!=' ') { printf("%d %d %c",x,y,a[n][i]); } } y=0; n++; } ~~~ ###(3)矩阵翻转 ~~~ #include<stdio.h> int main(){ int stu[100][100],stu_f[100][100]; int i,j,n,k; scanf("%d",&n);//输入一个n行n列的数字 for(i=0;i<n;i++){ for(j=0;j<n;j++){ scanf("%d",&stu[i][j]); } } printf("\n"); for(i=0;i<n;i++){ for(j=0;j<n;j++){ stu_f[j][i]=stu[i][j]; } } printf("输出转置矩阵"); printf("\n"); for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%d ",stu_f[i][j]); } printf("\n"); } } ~~~ ###(4)求和 ~~~ #include<stdio.h> #include<string.h> int main(){ int i,n,j=0,s=0,sum=0;//j为plus每段遍历下标 int flag=0; char str[100],plus[100];//plus表示每一段的答案 scanf("%d",&n); scanf("%s",str); if(n!=strlen(str)){ printf("输入字符个数与实际字符个数不相同"); return 0; } for(i=0;str[i]!='\0';i++){ //plus[j]=0; if(i<n&&str[i]!='.'){ if(flag==0){ plus[j]=str[i]-'0'; j++; } else plus[j-1]=plus[j-1]*10+(str[i]-'0'); //flag=0; flag=1; } else flag=0; } for(s=0;s<j;s++) { sum += plus[s]; } printf("总和为:%d",sum); } ~~~