一、
1.提示并输入一个字符串,统计该字符串中字母、数字、空格以及其他字符的个数
#include <stdio.h>
#define L 20
int main(int argc, const char *argv[])
{
char arr[L] = "";
int letter = 0,
num = 0,
blank = 0,
other = 0;
printf("请输入一个字符串:\n");
gets(arr);
for(int i=0; i<L; i++)
{
if(arr[i]>='A' && arr[i]<='Z' || arr[i]>='a' && arr[i]<='z')
{
letter++;
}
else if(arr[i]>='0' && arr[i]<='9')
{
num++;
}
else if(arr[i]==' ')
{
blank++;
}
else if(arr[i]==0)
{
break;
}
else
{
other++;
}
}
printf("该字符串中有\n字母:%2d个\n数字:%2d个\n空格:%2d个\n其他:%2d个\n",letter,num,blank,other);
return 0;
}
2.提示并输入一个字符串,求出该字符串中所有数字的总和
#include <stdio.h>
#define L 20
int main(int argc, const char *argv[])
{
char arr[L] = "";
int sum = 0, len = L;
printf("请输入一个长度不超过%d的字符串:\n", len);
gets(arr);
for(int i=0; i<L; i++)
{
if(arr[i]>='1' && arr[i]<='9')
{
sum += arr[i]-48;
}
else if(arr[i]==0)
{
break;
}
}
printf("该字符串中所有数字的总和为:%d\n",sum);
return 0;
}
3.定义一个4*3的二维整型数组,完成对二维数组的输入、输出。并将该二维数组中每一行的最值放入到一个一维数组中,并对该一维数组进行升序排序后输出。
#include <stdio.h>
#define X 4
#define Y 3
int main(int argc, const char *argv[])
{
int arr[X][Y] = {0},
max[X] = {0},
temp = 0;
printf("请输入一个4*3的二维数组:\n");
for(int i=0; i<X; i++)
{
for(int j=0; j<Y; j++)
{
printf("第%d行,第%d列:", i+1, j+1);
scanf("%d",&arr[i][j]);
}
}
printf("该数组每行的最大值为:\n");
for(int i=0; i<X; i++)
{
max[i] = arr[i][0];
for(int j=1; j<Y; j++)
{
if(max[i] < arr[i][j])
{
max[i] = arr[i][j];
}
}
printf("第%d行最大值为:%d\n", i+1, max[i]);
}
for(int i=0; i<X; i++)
{
for(int j=i+1; j<X; j++)
{
if(max[i] > max[j])
{
temp = max[i];
max[i] = max[j];
max[j] = temp;
}
}
}
printf("这些最大值的升序排序结果为:\n");
for(int i=0; i<X; i++)
{
printf("%d\t",max[i]);
}
putchar(10);
return 0;
}
4.提示并输入两个一维整型数组,求这两个数组的交集
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[10] = {0},
brr[10] = {0},
printf("请按照提示输入两个数组的值:\n");
for(int i=0; i<10; i++)
{
printf("请输入第1个数组的第%d个值:", i+1);
scanf("%d", &arr[i]);
}
for(int i=0; i<10; i++)
{
printf("请输入第2个数组的第%d个值", i+1);
scanf("%d", &brr[i]);
}
printf("这两个数组的交集为");
for(int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
if(arr[i] == brr[j])
{
printf("%d\t",arr[i]);
}
}
}
putchar(10);
return 0;
}
5.完成注册和登录功能:使用两个一维数组存储账户和密码,注册:完成对账号和密码的输入登录:将登录账号和密码跟注册的账号密码进行匹配,如果相等,则登录成功,否则,登录失败
#include <stdio.h>
int main(int argc, const char *argv[])
{
char user1[10] = "",
user2[10] = "",
pwd1[10] = "",
pwd2[10] = "";
printf("注册:\n");
while(1)
{
printf("请输入你的用户名(最少6位且不超过10位):\n");
scanf("%s", &user1);
if(strlen(user1)>10 || strlen(user1)<6)
{
printf("格式输入错误!");
continue;
}
break;
}
while(1)
{
printf("请输入你的密码(最少6位且不超过10位):\n");
scanf("%s", &pwd1);
if(strlen(pwd1)>10 || strlen(pwd1)<6)
{
printf("格式输入错误!");
continue;
}
break;
}
printf("请登录:\n");
while(1)
{
printf("请输入你的用户名:");
scanf("%s", &user2);
printf("请输入你的密 码:");
scanf("%s", &pwd2);
if(strcmp(user1,user2)==0 && strcmp(pwd1,pwd2)==0)
{
printf("登陆成功!");
break;
}
else
{
printf("登录失败!账号或密码错误,请重新输入\n");
}
}
putchar(10);
return 0;
}
二、