扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
源程序代码以及算法解释如下:
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的绛县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
#define _CRT_SECURE_NO_WARNINGS
#includestdio.h
int Func(int m)//判断函数
{
int n = 2;
while (n = m (m%n))//判断是否能被其他数整除
n++;
if (m == n)
return 1;
else
return 0;
}
int main()
{
int M_num;//定义变量
printf("请输入需要判断的数:\n");//文字提示
scanf("%i", M_num);//循环输入数组元素
int i = Func(M_num);//判断是否是素数
if (i == 1)//输出结果
printf("输入的数是素数");
if (i == 0)
printf("输入的数不是素数");
printf("\n");
return 0;
}
程序运行结果如下:
扩展资料:
输出1-100之间的所有素数程序如下:
#includestdio.h
int PrimeNumer(int x) //定义一个函数判断
{
assert(x 0); //判断
int i; //被除数
for (i = 2; i x; i++)
{
if (x%i == 0)
{
return 0; //表示正常终止
}
}
return 1; //只是给主调函数一个标志,说明他的执行过程中遇到异常情况。 然后就返回主调函数来处理,继续执行。
}
int main()
{
int i,a;
int count = 0;
for (i = 2; i 101; i++)
{
if (PrimeNumer(i)) //调用函数来判断
{
count++; //加入了一个计数器
printf("%d\n", i);
}
}
printf("素数出现的次数%d", count);
system("pause");
return 0;
}
strlen为C语言库函数,包含于string.h中,作用为计算一个字符串(字符数组)中元素的个数,即从数组头部计数,直到遇到字符串结束符\0为止,计数结果不包括\0.
其声明为:
unsigned int strlen(char *s);
比如定义字符串:
char *p = "this is for testing";
调用
strlen(p);
返回的结果就是p中元素的个数,即19。
需要注意的是,strlen并不是绝对安全的,如果在传入的字符数组的合法范围内,不存在结束符\0,那么strlen函数会一直访问下去,超出数组范围,即出现越界访问。
所以使用strlen时,程序员必须确认参数字符数组中包含\0值,否则会出现不可预知后果。
它定义了一个函数int digit(int n),用来返回一个整数n的位数。在main函数中,输入一个整数并调用digit函数,输出结果。
#include stdio.h
//定义一个函数int digit(int n),用来返回一个整数n的位数
int digit(int n){
int count = 0; //定义一个计数器,初始值为0
while(n != 0){ //当n不等于0时,循环执行以下操作
n = n / 10; //将n除以10,并赋值给n
count++; //计数器加一
}
return count; //返回计数器的值
}
//主函数
int main(){
int num; //定义一个整型变量num,用来存储输入的整数
printf("请输入一个整数:\n"); //提示用户输入一个整数
scanf("%d", num); //从标准输入读取一个整数,并赋值给num
printf("这个整数有%d位。\n", digit(num)); //调用digit函数,并输出结果
return 0; //程序正常结束,返回0
}
char str[]="\tab\n\012\\\""
字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2、3:ab
字符4:\n 转义字符,换行符,其ASCII 值10(十进制)
字符5:\012 转义字符,其中012是8进制数,其ASCII值 同\n.
字符6:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)
字符7:\" 转义字符 双引号",其ASCII值 34(十进制)
2. printf("%d \n", strlen("IBM\n012\1\\"));
字符1、2、3: IBM
字符4:\n 转义字符
字符5、6、7:012
字符8:\1 其ASCII值 1(8进制).
字符9:\\ 转义字符 反斜杠\,其ASCII值 92(十进制)
3. printf("%d \n",strlen("\t\"\065\xff\n"));
字符1: \t 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2:\" 转义字符 双引号",其ASCII值 34(十进制)
字符3:\065 ,代表字符5,其中065为8进制 格式,其ASCII为53(十进制)
字符4:\xff (这个我不知道怎么解释,请其它老师帮助解释)
字符5:\n
4. printf("%d \n",strlen("stop\0\n\""));
字符1、2、3、4:stop
因为strlen()函数遇到\0 就结束了,后面的字符就不去判断了。
C语言中的字符串 是用\0作为 结束符。
希望我的解答 对你有所帮助,很高兴和你一起讨论和学习C语言。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流