将数字全部挑选出来,将所有数字在原密码中所处位置(位置分别为1-8)和数字对应的ASCII码值组合成为一个新的字符串1(举例:输入密码SC1a2***,则新字符串为“349550”,3表示字符‘1’在密码中的位置为3,49表示字符‘1’的ASCII码值)。将数字全部挑选出来,将所有数字在原密码中所处位置(位置分别为1-8)和数字对应的ASCII码值组合成为一个新的字符串1(举例:输入密码SC1a2***,则新字符串为“349550”,3表示字符‘1’在密码中的位置为3,49表示字符‘1’的ASCII码值)。用c++编写
时间: 2023-05-28 11:05:18 浏览: 89
#include <stdio.h>
int main() {
char password[9]; // 原密码,长度为8
char str1[17] = ""; // 新字符串1,最长可能为8*2=16
char str2[17] = ""; // 新字符串2,最长可能为8*2=16
int count1 = 0, count2 = 0; // 数字计数器
int i;
printf("请输入8位密码:");
scanf("%s", password);
for (i = 0; i < 8; i++) {
if (password[i] >= '0' && password[i] <= '9') {
// 如果是数字
str1[count1++] = i + '1'; // 记录位置
str1[count1++] = password[i]; // 记录ASCII码值
} else {
// 如果不是数字
str2[count2++] = i + '1'; // 记录位置
str2[count2++] = password[i]; // 记录ASCII码值
}
}
printf("新字符串1:%s\n", str1);
printf("新字符串2:%s\n", str2);
return 0;
}
阅读全文