C语言 输入一个正整数n和k 判断整数n中是否包含数字k
时间: 2024-12-13 17:19:59 浏览: 25
c代码-输入一个正整数,生成该数值层数的倒金字塔。第一层显示 1 ,第二层显示 2 ,以此类推。
在C语言中,判断一个正整数n中是否包含数字k,你可以通过遍历n的每一位来进行检查。下面是一个简单的示例程序:
```c
#include <stdio.h>
int contains_digit(int n, int k) {
// 将n转换成字符串便于处理每一位数字
char str[100];
sprintf(str, "%d", n);
// 遍历字符串中的每一个字符
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] - '0' == k) { // 将字符转为数字并与k比较
return 1; // 找到k,返回1表示存在
}
}
return 0; // 没找到k,返回0表示不存在
}
int main() {
int n, k;
printf("请输入一个正整数n: ");
scanf("%d", &n);
printf("请输入数字k: ");
scanf("%d", &k);
if (contains_digit(n, k)) {
printf("数字%d存在于数字%d中。\n", k, n);
} else {
printf("数字%d不在数字%d中。\n", k, n);
}
return 0;
}
```
在这个程序中,`contains_digit()`函数接收两个整数作为参数,将n转换成字符串并逐位检查,如果遇到等于k的数字则返回1,否则遍历完所有位都没有找到就返回0。
阅读全文