今日笔记思维导图:
作业一:提示并输入一个字符串,统计该字符串中字母、数字、空格以及其他字符的个数
int main() {
int data[100][2];
char s[100];
printf("请输入一个字符串:\n");
gets(s);
for (int i = 0; i < 100; i++)
{
data[i][0] = -1;
data[i][1] = -1;
}
for (int i = 0; i < strlen(s); i++)
{
for (int j = 0; j < 100;j++) {
if (data[j][0] == s[i]+0) {
data[j][1] = data[j][1] + 1;
break;
}
if (data[j][0] == -1) {
data[j][0] = s[i] + 0;
data[j][1] = data[j][1] + 1;
break;
}
}
}
for (int i = 0; i <100; i++)
{
if (data[i][0] == -1) {
break;
}
printf("%c出现的次数是%d次\n", data[i][0], data[i][1]+1);
}
return 0;
}
作业二:提示并输入一个字符串,求出该字符串中所有数字的总和
int main() {
int sum = 0;
char s[100];
printf("请输入一个字符串:\n");
gets(s);
for (int i = 0; i < strlen(s); i++)
{
if (s[i] >= 48 && s[i] <= 57) {
sum += s[i]-48;
}
}
printf("数字总和为:%d", sum);
return 0;
}
作业三:定义一个4*3的二维整形数组,完成对二维数组的输入、输出。并将该二维数组中每一行的最值放入到一个一维数组中,并对该一维数组进行升序排序后输出。
#define row 3
#define column 4
int main() {
int data[row][column] = { 0 };
int array[row] = { 0 };
for (int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
printf("请输入第%d行,第%d列的元素:", i + 1, j + 1);
scanf("%d", &data[i][j]);
}
printf("\n");
}
for (int i = 0; i < row; i++) {
int max = 0,maxj=0;
for (int j = 0; j < column; j++) {
if (data[i][j] > max) {
max = data[i][j];
maxj = j;
}
printf("%d\t", data[i][j]);
}
array[i] = data[i][maxj];
printf("\n");
}
for (int i = 0; i < row-1; i++)
{
for (int j = 0; j <row-(1+i); j++)
{
if (array[j] > array[j + 1]) {
int flag = array[j];
array[j] = array[j + 1];
array[j + 1] = flag;
}
}
}
printf("升序数组为:\n");
for (int i = 0; i < row; i++)
{
printf("%d\t", array[i]);
}
printf("\n");
return 0;
}
作业四:提示并输入两个一维整形数组,求这两个数组的交集
#define row 2
#define column 5
int main() {
int data[row][column] = { 0 };
for (int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
printf("请输入第%d个数组,第%d列的元素:", i + 1, j + 1);
scanf("%d", &data[i][j]);
}
printf("\n");
}
printf("两个数组交集为:\n");
for (int i = 0; i < column;i++) {
for (int j = 0; j < column; j++)
{
if (data[0][i] == data[1][j]) {
printf("%d\t", data[1][j]);
}
}
}
return 0;
}
作业五:完成注册和登录功能:使用两个一维字符数组存储账户和密码。注册:完成对账号和密码的输入。登录:将登录账号和密码跟注册的账号和密码进行匹配,如果相等,则登录成功,否则,登录失败
int main() {
char account[10] = {""};
char password[10] = {""};
char a[10] = { "" };
char p[10] = { "" };
char choose[4] = { "" };
int flag = 0,success=1;
printf("请输入登录账号:\n");
gets(a);
printf("请输入登录密码:\n");
gets(p);
if (strcmp(account, a) != 0 || strcmp(password, p) != 0) {
printf("账号或者密码错误,请选择重新登陆或者注册\n");
if (strcmp(gets(choose), "注册") == 0) {
flag = 0;
}
else
{
flag = 1;
}
}
else {
printf("登录成功\n");
success = 0;
}
while (success) {
if (flag == 0) {
printf("请输入注册账号:\n");
gets(account);
printf("请输入注册密码:\n");
gets(password);
printf("注册成功,前往登录\n");
flag = 1;
}
else
{
printf("请输入登录账号:\n");
gets(a);
printf("请输入登录密码:\n");
gets(p);
if (strcmp(account, a) != 0|| strcmp(password, p) != 0) {
printf("账号或者密码错误,请选择重新登陆或者注册\n");
if (strcmp(gets(choose), "注册") == 0) {
flag = 0;
}
else
{
flag = 1;
}
}
else {
printf("登录成功\n");
success = 0;
}
}
}
return 0;
}