本文目錄一覽:
求大神們用C語言輸出: 11111 12221 11311 12221 11111
#include stdio.h
int main(void)
{
printf(“11111 12221 11311 12221 11111\n”);
}
C語言中,一個指針佔用的空間是多大?和指針類型有關係嗎?
指針和其指向的數據類型有關係,你可以用sizeof()來做測試:
printf(“the size of char is %d\n”,sizeof(int*));
printf(“the size of char is %d\n”,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;
}
運行樣例如下:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309166.html