‘壹’ c语言 输出 1到100 所有整数
解决这个问题的方法如下:
1、首先使用新建一个工程和.c文件。
‘贰’ c语言程序中怎样输出1到100的素数
主要考察素数的概念和判断方法。
素数:指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
素数判断:将该数N用小于等于根号N的所有素数去试除,若均无法整除,N则为素数。
参考代码:
#include<stdio.h>
#include<math.h>
intmain()
{
inta,b,c;
printf("2 ");//2是素数,不能利用上面的规则求出需要另外输出。
for(a=2;a<=100;a++)
{
c=(int)sqrt(a);//计算平方数,取整
for(b=2;b<=c;b++)//依次判断
if(a%b==0)break;
if(b>c)printf("%d ",a);//输出素数
}
return0;
}
‘叁’ 你好,怎样用c语言输出一个1到100的随机数
源程序如下:
#include "pch.h"
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
const int n = 10000;
int number[n] = { NULL };
srand((unsigned)time(NULL));
number[0] = rand() % n;//第一个随机数无需比较
cout << number[0] << " ";
for (int i = 1; i < n; i++)//其余随机数循环产生
{
int j = 0;
number[i] = rand() % n;
while (1)
{
if (number[i] == number[j])//若有相同则继续循环重新安排随机数
{
number[i] = rand() % n;
j = 0;//若遇到相同的就从头遍历
continue;
}
if (j == (i - 1))//若遍历完就跳出
break;
j++;
}
cout << number[i] << " ";
}
cout << endl;
return 0;
}
程序运行结果:
(3)c语言打印1100的数扩展阅读:
其他实现方式:
#include<time.h> //使用 time 函数必须引入 time.h 头文件
#include<stdlib.h>
int main()
{
srand((int)time(0));
int rand_num = rand();
printf("rand_num = %d
", rand_num);
return 0;
}
‘肆’ c语言:printf("%d\n",~i++);是什么意思,特别是~
运行步骤:
第一步按位取反:~i
第二步打印i的值
第三步:i=i+1
比如假设i为8位无符号数,i=80=(1010000)b,按位取反是10101111,也就是175,那么打印出来的就是175,但是之后内存中的i为80+1=81
‘伍’ C语言中 printf("\n")输出是什么结果printf("%d")什么意思为什么
printf("%d\n",
c&c);
表示输出表达式c&c的值。
而c&c是表示将变量c与自己进行与运算,结果为c。如:
int
c=12;
c&c
=
12&12
=
1100
&
1100
=
1100
=
c
(1100为12的二进制)
所以最后输出结果为变量c的值,即等价于:printf("%d\n",
c);
‘陆’ 用C语言编程 打印出3到1100 之间的全部素数(判素数由函数实现)
/*求2个素数之间个数*/
#include
#include
int
count_prines(int,int);
void
main(void)
{
int
m,n,t;
printf("请输入2个自然数:");
scanf("%d%d",&m,&n);
t=count_prines(m,n);
printf("在%d和%d之间有%d个素数\n",m,n,t);
}
/*素数统计函数*/
int
count_prines(int
m,int
n)
{
int
i=0,s,k=0,tag=1;
if(m>n)s=m,m=n,n=s;
if(n==2)k=1;
else
if(n>2)
{
if(m<=2)k=1,m=3;
else
m+=1-m%2;
for(;m<=n;m+=2)
{
tag=1;
s=(int)sqrt(m);
for(i=3;tag&&i<=s;i+=2)
tag=m%i;
k+=(tag>0);
}
}
}
这个是统计两个数之间的全部素数,很快的,希望对你有帮助!
‘柒’ c语言为什么输出是1100
if(a=1) b=1;
将1赋值给a, a=1返回 1,非0表示真,所以执行b=1
a=1,b=1,c=0,d=0
‘捌’ c语言打印1到100,第一行打一个数,第二行打印两个数
假设x=2569
printf("%ld\t",a);
就是打印x的个位9
然后x除以10,x=256
原来的十位变成了个位
再调用pin()时,a=x%10得到的a=6
是打印原来x的十位
再除以10再调用pin(),得到打印原来x的百位
这样一直下去直到全部打印完,递归结束
printf("%ld\n",x);
应该是调试用的,影响显示的输出结果,可以去掉