1、提示并输入一个字符串,统计该字符串中字母、数字、空格以及其他字符的个数
#include <stdio.h>
#include<string.h>
#define M 20
int main()
{
char a[M] = {0};
int z=0, s = 0;
int k=0, q = 0;
printf("输入一个字符串:");
gets(a);
for (int i=0; a[i]!='\0'; i++)
{
if ((a[i] >= 'A' && a[i] <= 'Z')||( a[i] >= 'a' && a[i] <= 'z'))
{
z = z + 1;
}
else if (a[i] >='0'&& a[i] <='9')
{
s = s + 1;
}
else if (a[i]==' ')
{
k = k + 1;
}
else
{
q = q + 1;
}
}
printf("该字符串中字母有%d个\n数字有%d个\n空格有%d个\n其他字符有%d个\n",z,s,k,q);
return 0;
}
程序运行截图
2.提示并输入一个字符串,求出该字符串中所有数字的总和
#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
char a[M] = {0};
int sum = 0;
printf("输入一个字符串:");
gets(a);
for (int i = 0; a[i] != '\0'; i++)
{
if (a[i] >= '0' && a[i] <= '9')
{
sum += a[i] - '0';
}
}
printf("该字符串中数字和为:%d\n", sum);
return 0;
}
程序运行截图
3、定义一个4*3的二维整形数组,完成对二维数组的输入、输出。并将该二维数组中每一行的最值放入到一个一维数组中,并对该一维数组进行升序排序后输出。
int main()
{
int a[M][N] = {0};
int b[M] = {0};
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
printf("正在输入第%d行第%d个数字:", i + 1, j + 1);
scanf("%d", &a[i][j]);
}
}for (int i = 0; i < M; i++)
{
b[i] = a[i][0];
for (int j = 0; j < N; j++)
{if (a[i][j] > b[i])
{
b[i] = a[i][j];
}
}
}
printf("组成的新数组:\n");
for (int i = 0; i < M; i++)
{
printf("%d\n", b[i]);
}for (int i = 0; i < M; i++)
{
for (int k = 0; k < M - 1; k++)
{
if (b[k] > b[k + 1])
{
int temp = b[k];
b[k] = b[k + 1];
b[k + 1] = temp;
}
}
}
printf("每行最大值升序排序为:\n");
for (int i = 0; i < M; i++)
{
printf("%d ", b[i]);
}
putchar(10);return 0;
}
代码运行截图
4.提示并输入两个一维整形数组,求这两个数组的交集。
#include<stdio.h>
#define M 5
#define N 5
int main()
{
int a[M]={0};
int b[M]={0};
printf("输入第%d个数组\n",1);
for(int i=0;i<M;i++)
{
scanf("%d",&a[i]);
}
getchar();
printf("输入第%d个数组\n",2);
for(int i=0;i<N;i++)
{
scanf("%d",&b[i]);
}
getchar();
int c[M]={0};
int k=0;
for(int i=0;i<M;i++)
{
for(int j=0;j<M;j++)
{
if(a[i]==b[j])
{
c[k]=a[i];
k++;
}
}
}
printf("交集为\n");
for(int i=0;i<k;i++)
{
printf("%d\t",c[i]);
}
printf("\n");
return 0;
}
运行:
5、完成注册和登录功能:使用两个一维字符数组存储账户和密码
注册:完成对账号和密码的输入
登录:将登录账号和密码跟注册的账号和密码进行匹配,如果相等,则登录成功,否则,登录失败
#include <stdio.h>
#define M 5
#define N 5
int main()
{
char a[M] = {0};
printf("注册账号:\n");
gets(a);
char b[M] = {0};
printf("注册密码:\n");
gets(b);char c[M] = {0};
printf("输入注册账号:\n");
gets(c);
for (int i = 0; i < M; i++)
{
if (a[i] == c[i])
{
char d[M] = {0};
printf("输入登录密码:\n");
gets(d);
for (int i = 0; i < M; i++)
{
if (d[i] == b[i])
{
printf("登录成功\n") ;
break;
}
else
{
printf("密码输入错误\n") ;
break;
}
}
}
else
{
printf("账号输入错误\n");
break;
}
}
return 0;
}
运行: