作业1:
#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
char arr[M];
int N=0;
printf("请输入字符串的长度\n");
scanf("%d",&N);
getchar();
int zimu=0,shuzi=0,kongge=0,qita=0;
printf("请输入一条字符串\n");
gets(arr);
for(int i=0;i<N;i++){
if((arr[i]>='a'&&arr[i]<='z')||(arr[i]>='A'&&arr[i]<='Z')){
zimu++;
}else if(arr[i]>='0'&&arr[i]<='9'){
shuzi++;
}else if(arr[i]==' '){
kongge++;
}else if(arr[i]=='\0'){
break;
}else qita++;
}
printf("该字符串中字母有%d个,数字有%d个,空格有%d个,其他有%d个\n",zimu,shuzi,kongge,qita);
}
作业2:
#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
char arr[M];
int N=0,sum=0;
printf("请输入字符串的长度\n");
scanf("%d",&N);
getchar();
printf("请输入一条字符串\n");
gets(arr);
for(int i=0;i<N;i++){
if(arr[i]>'0'&&arr[i]<='9'){
sum+=(arr[i]-'0');
}else if(arr[i]=='\0'){
break;
}else continue;
}
printf("该字符串中数字的总和为%d\n",sum);
}
作业3
#include <stdio.h>
#include <string.h>
int main()
{
int arr[4][3]={0};
int brr[4]={0};
for(int i=0;i<4;i++){
for(int j=0;j<3;j++){
printf("请输入%d行%d列的数字:\n",i+1,j+1);
scanf("%d",&arr[i][j]);
}
}
printf("该4*3的数组为:\n");
for(int i=0;i<4;i++){
for(int j=0;j<3;j++){
printf("%d\t",arr[i][j]);
}
putchar(10);
}
for(int i=0;i<4;i++){
for(int j=0;j<3;j++){
brr[i]+=arr[i][j];
}
}
int temp=0;
for(int i=1;i<4;i++){
for(int j=0;j<3;j++){
if(brr[j]<brr[j+1]){
temp=brr[j];
brr[j]=brr[j+1];
brr[j+1]=temp;
}
}
}
printf("二维数组的和升序排列:\n");
for(int i=0;i<4;i++){
printf("%d\t",brr[i]);
}
putchar(10);
}
作业4:
#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
int arr[M]={0};
int brr[M]={0};
int crr[M]={0};
int N=0;
printf("请输入两个一维数组的长度:\n");
scanf("%d",&N);
printf("请输入第一个数组的数字:\n");
for(int i=0;i<N;i++){
printf("第%d个:",i+1);
scanf("%d",&arr[i]);
putchar(10);
}
printf("请输入第二个数组的数字:\n");
for(int i=0;i<N;i++){
printf("第%d个:",i+1);
scanf("%d",&brr[i]);
putchar(10);
}
int k=0;
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(arr[i]==brr[j]){
crr[k]=arr[i];
k++;
break;
}
}
}
int temp=0;
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
if(crr[i]==crr[j]){
for(temp = j;temp<N-1;temp++)
crr[temp]=crr[temp+1];
j--;
N--;
}
}
}
printf("两个数组的交集为:\n");
if(k==0){
printf("没有交集\n");
}else for(int i=0;i<N;i++){
printf("%d\t",crr[i]);
}
putchar(10);
}
作业5
#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
int arr[M]={0};
int brr[M]={0};
int crr[M]={0};
int drr[M]={0};
printf("请输入20位内的账号:\n");
scanf("%s",arr);
getchar();
printf("请输入20位内的密码:\n");
scanf("%s",brr);
printf("注册成功!\n");
while(1){
printf("请登录:\n");
printf("请输入账号:\n");
scanf("%s",crr);
getchar();
printf("请输入密码:\n");
scanf("%s",drr);
int P=1;
for(int i=0;arr[i]!='\0';i++){
if(arr[i]!=crr[i]){
P=0;
break;
}
if(brr[i]!=drr[i]){
P=0;
break;
}
}
if(P==0){
printf("登录失败!\n");
}else printf("登陆成功!");
}
}
思维导图: