本文目录一览:
求大神们用C语言输出: 11111 12221 11311 12221 11111
#include stdio.h
int main(void)
{
printf("11111 12221 11311 12221 11111n");
}
C语言中,一个指针占用的空间是多大?和指针类型有关系吗?
指针和其指向的数据类型有关系,你可以用sizeof()来做测试:
printf("the size of char is %dn",sizeof(int*));
printf("the size of char is %dn",sizeof(char*));
另外,指向结构体的指针就要看具体情况了,C语言还有所谓的“对齐机制”,就是结构体里的单元,所分配的空间实际上要参照结构体里“体积”最大的那个单元。就是说,比如一个char和一个int,char要向int看齐,一个char和一个double,char要向double看齐。关键就在于凑整数,凑成最大变量大小的倍数。当然,如果结构体里只有char型的变量或是数组,就不存在一定要凑数的问题了。
C语言编写超级素数
超级素数是指从个位起删除0位、1位、2位……直到只剩最后1位都是素数的十进制正整数。可以自定义一个素数判断函数,对某一正整数n及从个位起每删除1位的新数逐一进行判断,都是素数的则是题解。以下代码先要求输入正整数n,输出2~n之间的所有超级素数:
#include "stdio.h"
int prime(int n){//判断素数,素数返回0,否则返回1
int i;
if(n2 !(n1) || n2)
return 1;
for(i=3;i*i=n;i+=2)
if(!(n%i))
return 1;
return 0;
}
int main(int argc,char *argv[]){
int n,i,t;
printf("Input n(int n1)...nn=");
if(scanf("%d",n)!=1 || n2){
printf("Input error, exit...n");
return 0;
}
for(i=2;i=n;i++){
for(t=i;t;t/=10)//从低位删除0位,1位...直到只剩1位都是素数的为超级素数
if(prime(t))
break;
if(!t)
printf("%d ",i);
}
printf("n");
return 0;
}
运行样例如下: