1、提示并输入一个字符串,统计该字符串中字母、数字、空格以及其他字符的个数
#include <stdio.h>
#include <string.h>
int main(int argc,const char *argv[])
{
char arr[30]={0};
int zm=0,kg=0,sz=0,qt=0;
printf("请输入字符串:");
gets(arr);
for(int i=0;i<strlen(arr);i++)
{
//printf("%c\n",arr[i]);
if(arr[i]>='a'&&arr[i]<='z'||arr[i]>='A'&&arr[i]<='Z')
{
zm++;
}
else if(arr[i]==' ')
{
kg++;
}
else if(arr[i]>='0'&&arr[i]<='9')
{
sz++;
}
else
{
qt++;
}
}
printf("该字符串中一共有%d个字母,%d个空格,%d个数字,%d个其他字符\n",zm,kg,sz,qt);
return 0;
}
2、提示并输入一个字符串,求出该字符串中所有数字的总和
#include <stdio.h>
#include <string.h>
int main(int argc,const char *argv[])
{
char arr[30]={0};
int sum=0;
printf("请输入字符串:");
gets(arr);
for(int i=0;i<strlen(arr);i++)
{
if(arr[i]>='0'&&arr[i]<='9')
{
sum+=arr[i]-48;
}
}
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 max=0,min=0,mini=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
printf("请输入第%d行%d列的数:",i+1,j+1);
scanf("%d",&arr[i][j]);
}
}
printf("二维数组的值为:\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++)
{
max=arr[i][0];
for(int j=1;j<3;j++)
{
if(arr[i][j]>max)
{
max=arr[i][j];
}
}
brr[i]=max;
}
for(int i=1;i<4;i++)
{
min=brr[i];
for(int j=i+1;j<4;j++)
{
if(brr[j]<min)
{
min=brr[j];
mini=j;
}
}
if(min!=brr[i])
{
int temp=brr[mini];
brr[mini]=brr[i];
brr[i]=temp;
}
}
printf("进行升序排序后输出后结果为:\n");
for(int i=0;i<4;i++)
{
printf("%d\t",brr[i]);
}
putchar(10);
return 0;
}
4、提示并输入两个一维整形数组,求这两个数组的交集。
#include <stdio.h>
#include <string.h>
#define N 5
int main(int argc,const char *argv[])
{
int arr[N]={0},brr[N]={0},crr[N]={0},k=0;
printf("请输入的第一个整型数组:\n");
for(int i=0;i<N;i++)
{
printf("第%d个值为:",i+1);
scanf("%d",&arr[i]);
}
printf("请输入的第二个整型数组:\n");
for(int i=0;i<N;i++)
{
printf("第%d个值为:",i+1);
scanf("%d",&brr[i]);
}
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;
}
}
}
printf("他们的交集为:\n");
for(int i=0;i<k;i++)
{
printf("%d\t",crr[i]);
}
putchar(10);
return 0;
}
5、完成注册和登录功能:使用两个一维字符数组存储账户和密码
注册:完成对账号和密码的输入
登录:将登录账号和密码跟注册的账号和密码进行匹配,如果相等,则登录成功,否则,登录失败
#include <stdio.h>
#include <string.h>
#define N 5
int main(int argc,const char *argv[])
{
char arr[30]={0},brr[30]={0},crr[30]={0},drr[30]={0};
int n=0;
while(1)
{
printf("请问是要注册还是登陆(注册扣1,登陆扣2,退出扣3):");
scanf("%d",&n);
getchar();
if(n==1)
{
printf("请输入账号:");
gets(arr);
printf("请输入密码:");
gets(brr);
}
else if(n==2)
{
printf("请输入账号:");
gets(crr);
printf("请输入密码:");
gets(drr);
if(strcmp(arr,crr)==0&&strcmp(brr,drr)==0)
{
printf("登陆成功\n");
break;
}
else
{
printf("登陆失败\n");
}
}
else if(n==3)
{
break;
}
else
{
printf("输入错误,请重新输入\n");
}
}
return 0;
}