思维导图
作业:
1、提示并输入一个字符串,统计该字符串中字母、数字、空格以及其他字符的个数
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[100]=" ";
printf("请输入一个字符串:");
gets(arr);
int i=0;
int count1=0;
int count2=0;
int count3=0;
int count4=0;
for(i=0;i<strlen(arr);i++)
{
if((arr[i]>='a'&&arr[i]<='z')||(arr[i]>='A'&& arr[i]<='Z'))
{
count1++;
}
else if(arr[i]>='0'&&arr[i]<='9')
{
count2++;
}
else if(arr[i]==' ')
{
count3++;
}
else
{
count4++;
}
}
printf("该字符串中字母有%d个\n", count1);
printf("该字符串中数字有%d个\n", count2);
printf("该字符串中空格有%d个\n", count3);
printf("该字符串中其他字符有%d个\n", count4);
return 0;
}
2、提示并输入一个字符串,求出该字符串中所有数字的总和
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[100]=" ";
int i=0;
int sum=0;
printf("请输入字符串\n");
gets(arr);
for(i=0;i<strlen(arr);i++)
{
if(arr[i]>='0'&&arr[i]<='9')
{
sum+=arr[i]-'0';
}
}
printf("%d\n",sum);
return 0;
}
3、定义一个4*3的二维整形数组,完成对二维数组的输入、输出。并将该二维数组中每一行的最值放入到一个一维数组中,并对该维数组进行升序排序后输出。
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int arr[4][3]={0};
int brr[4]={0};
int i=0,j=0;
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("第%d行第%d列的元素是:",i+1,j+1);
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("%2d\t",arr[i][j]);
}
putchar(10);
}
for(i=0;i<4;i++)
{
int max=arr[i][0];
for(j=0;j<3;j++)
{
if(max<arr[i][j])
{
max=(arr[i][j]);
}
}
brr[i]=max;
}
for(i=0;i<4;i++)
{
printf("%d\t",brr[i]);
}
putchar(10);
int temp=0;
for(i=1;i<4;i++)
{
for(j=0;j<4-i;j++)
{
if(brr[j]>brr[j+1])
{
temp=brr[j];
brr[j]=brr[j+1];
brr[j+1]=temp;
}
}
}
for(i=0;i<4;i++)
{
printf("%d\t",brr[i]);
}
putchar(10);
return 0;
}
4、提示并输入两个一维整形数组,求这两个数组的交集
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int arr[4]={0};
int brr[4]={0};
int i=0,j=0;
for(i=0;i<4;i++)
{
printf("请输入第%d个数\n",i+1);
scanf("%d",&arr[i]);
}
for(i=0;i<4;i++)
{
printf("%d\t",arr[i]);
}
putchar(10);
for(j=0;j<4;j++)
{
printf("请输入第%d个数\n",j+1);
scanf("%d",&brr[j]);
}
for(j=0;j<4;j++)
{
printf("%d\t",brr[j]);
}
putchar(10);
printf("相等的元素是:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(arr[i]==brr[j])
{
printf("%d\t",arr[i]);
}
}
}
return 0;
}
5、完成注册和登录功能:使用两个一维字符数组存储账户和密码注册:完成对账号和密码的输入
登录:将登录账号和密码跟注册的账号和密码进行匹配,如果相等,则登录成功,否则,登录失败
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[25][25]={"user1","user2"};
char brr[25][25]={"pass1","pass2"};
char crr[25]={0};
char drr[25]={0};
int flag=0;
int i,j=0;
printf("请输入账号\n");
gets(crr);
printf("请输入密码\n");
gets(drr);
for(i=0;i<25;i++)
{
for(j=0;j<25;j++)
{
if(strcmp(arr[i],crr)==0&&strcmp(brr[i],drr)==0)
{
printf("登录成功\n");
flag=1;
break;
}
}
}
if(flag==0)
{
printf("失败\n");
}
return 0;
}