C语言编译。 从键盘输入一个字符串,找出其中ASCII码值最小的字符,并输出该字符
时间: 2024-02-03 19:11:22 浏览: 27
可以使用C语言的标准库函数 `strchr()` 来查找一个字符串中的字符。具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
char min_char = str[0]; // 假设第一个字符为最小值
for (int i = 1; i < strlen(str); i++) {
if (str[i] < min_char) {
min_char = str[i];
}
}
printf("ASCII码值最小的字符为:%c\n", min_char);
return 0;
}
```
在上面的代码中,首先从键盘输入一个字符串并存储在 `str` 数组中。然后假设第一个字符为最小值,遍历整个字符串,如果找到比假设的最小值还要小的字符,则更新最小值。
最后输出找到的最小值字符即可。
相关问题
编写一个数据加密程序,从键盘输入一个由字母、数字、空格组成的字符串,输出其所对应的密文。加密规则是:将字符串中每个字符的ASCII码值加100,并对加密的密文进行解密,C语言代码
可以使用如下代码实现上述功能:
```c
#include <stdio.h>
#include <string.h>
void encrypt(char *str);
void decrypt(char *str);
int main()
{
char str[100];
// 输入字符串
printf("请输入要加密的字符串:\n");
fgets(str, 100, stdin);
// 加密并输出密文
encrypt(str);
printf("加密后的字符串为:%s\n", str);
// 解密并输出明文
decrypt(str);
printf("解密后的字符串为:%s\n", str);
return 0;
}
// 加密函数
void encrypt(char *str)
{
int i;
for (i = 0; i < strlen(str); ++i)
{
if (str[i] != '\n')
{
str[i] += 100;
}
}
}
// 解密函数
void decrypt(char *str)
{
int i;
for (i = 0; i < strlen(str); ++i)
{
if (str[i] != '\n')
{
str[i] -= 100;
}
}
}
```
使用方法:编译并运行该程序,按照提示输入要加密的字符串,程序会输出加密后的密文和解密后的明文。其中加密函数 `encrypt()` 使用 ASCII 码值加 100 进行加密,解密函数 `decrypt()` 则使用 ASCII 码值减 100 进行解密。
C语言 随机输入一个字长不大于9由字符组成的字符串,然后将其变成一个颠倒的整数并输出
首先,我可以回答这个问题。以下是解题方法:
1. 使用字符数组(char array)存储输入的字符串,并记录其长度length;
2. 利用循环将这个字符串从后往前遍历,生成一个整数reverse_num;
3. 在每次循环过程中,将字符型数字减去'0'的ASCII值,转换成整型数字后乘以相应位数的10的幂;
4. 将得到的数字加到reverse_num上;
5. 循环结束后,reverse_num就是颠倒的整数,输出即可。
下面是示例代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[10]; // 字符数组
int length, i, reverse_num = 0;
printf("请输入一个不超过9位的字符串:");
scanf("%s", str);
length = strlen(str);
// 生成颠倒的整数
for (i = length - 1; i >= 0; i--) {
reverse_num += (str[i] - '0') * pow(10, i);
}
// 输出结果
printf("颠倒后的整数为:%d\n", reverse_num);
return 0;
}
```
注意,上述代码中需要用到math.h头文件中的pow()函数,需要在编译时加上-lm选项。