當前位置:首頁 » 編程語言 » c語言編寫的程序

c語言編寫的程序

發布時間: 2022-01-08 14:45:39

A. 用c語言編寫一個程序

應該多給幾個例子,n=10的時候如何處理?得到10,110,210,1210等等?
若是這樣的,試試下面程序:
/*
用c語言編寫一個程序:對於一個自然數n(n<=50),統計具有下列數字的個數,
並輸出所有符合條件的數字:自然數n,在n的左邊加上一個自然數,
但該自然數不能超過原數的一半;繼續按此規則進行處理,直到不能加自然數為止。
例如當n=6時,符合條件條件的是:6,16,26,36,126,136共6個;
當n=5時,符合條件的是:5,15,25,125.(0也是自然數,所以要加上本身)。。。
*/
#include
<stdio.h>
#include
<stdlib.h>
int
g_count=0;
void
fun(int
n,int
d,int
b)
{
int
i;
printf("%8d
",d);
g_count++;
if(g_count%8==0)
printf("\n");
for(i=1;i<=n/2;i++)
{
fun(i,i*b+d,b*10);
}
}
void
result(int
n)
{
int
t=n,d=n,b=10;
printf("result:\n");
g_count=0;
while(t>=10)
{
t/=10;
b*=10;
}
fun(n,d,b);
printf("\ntotal
%d
numbers\n\n",g_count);
}
int
main()
{
int
n;
printf("input
n(n<=50):\n");
while(scanf("%d",&n)!=EOF)
{
if(n>=0&&n<=50)
result(n);
printf("input
n(n<=50):\n");
}
return
0;
}
我這,若是放開n的限制,n=200的時候,計算花掉20多秒吧,總共205658個。
n=300的話,算了幾分鍾都沒結束。估計也得使用long
long數據類型了。使用遞歸不是最快的,重復計算多。
網路推薦也不求真相?有誤導了吧。
對於樓主新補充的提升,我的程序是這樣做的,滿足你的要求。

B. C語言編程程序

#include <stdio.h>

void main()

{

int year,month,day,s=0,a,i;

int m[11] = {31,28,31,30,31,30,31,31,30,31,30,31};//建立一維數組,放入每個月的天數

printf("Please input year-month-day : ");

scanf("%d-%d-%d",&year,&month,&day);//輸入年月日

if(month > 2 && ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)))//判斷閏年且月份大於2

a=1;//如果閏年且月份大於2,在天數上加1

else

a=0;//不是則不加

for(i = 0 ; i < month - 1 ; i ++)

s = s + m[i];//把輸入月份之前的每個月天數相加;比如輸入4月,則此時s=31+28+31

printf("That is the %d(th) day of %d. ",s+day+a,year);//所求值為s+day+a


C. 用C語言編寫的代碼程序( )

樓上是對的,該選D...代碼只有編譯鏈接之後才能成為可執行程序, 可執行程序才能執行

D. 用C語言編寫一個程序

#include<stdio.h>
main()
{
int a[100],t,n,i,j;
printf("請輸入數字的個數:");
scanf("%d",&n);
printf("\n請依次輸入數值:");
for(i=0;i<=n-1;i++)
scanf("%d",&a[i]);
for(i=0;i<=n-1;i++)
{
for(j=i+1;j<n;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
printf("排列好的數列為:");
for(i=0;i<=n-1;i++)
printf("%d ",a[i]);

}

E. C語言程序編寫

C語言使用 Xcode。Xcode 是由Apple官方開發的IDE,支持C、C++、Objective-C、Swift等

F. 如何編寫C語言程序

准備材料

windows電腦、VC++(DEV_C++)

1.打開桌面上的DEV_C++,進入如下界面:

G. 編寫一個程序...(用c語言編寫程序)

編寫什麼程序呢?是完成一個功能還是別的?是游戲類還是軟體類還是工具類呢?不寫清楚怎麼回答呢親?

H. C語言編寫程序

程序功能:錄入N個字元串(動態內存申請,內存范圍內不限長度個和字元個數)

輸入一個字元串,查找是否有相同,有輸出1,沒有輸出0。(先比較長度再比較內容)

字元串可以包含空格,代碼我都詳細備注了。

#include<stdio.h>
#include<malloc.h>
#include<conio.h>
#include<string.h>
typedefstructstrList
{
char*s;//一行字元串首地址
intclo;//列數
structstrList*next;//鏈表指針
}STRL;
STRL*inputStr(STRL*strlHead,STRL*strlTail,intff);
voidprSTRL(STRL*strlHead);
intfindSTRL(STRL*strlHead);
voidmeError(void*p);
intmain()
{
STRL*strlHead=(STRL*)malloc(sizeof(STRL)),*strlTail=NULL;
meError(strlHead);
strlHead->next=NULL;
strlTail=inputStr(strlHead,strlTail,0);
printf("錄入的字元串信息為: ");
prSTRL(strlHead);
while(1)
printf("查找結果:%d ",findSTRL(strlHead));
return0;
}
voidprSTRL(STRL*strlHead)//列印鏈表字元串
{
while(strlHead->next!=NULL)
{
printf("%s ",strlHead->next->s);
strlHead=strlHead->next;
}
printf(" ");
}
intfindSTRL(STRL*strlHead)//查找字元串,先比較長度,再比較內容,找到返回1,未找到返回0
{
intflag=0;
STRLsFindHead,*sFindTail=NULL;
sFindHead.s=NULL;
sFindHead.next=NULL;
sFindTail=inputStr(&sFindHead,sFindTail,1);
if(!sFindTail)
return0;
while(strlHead->next!=NULL)
{
if(strlHead->next->clo==sFindTail->clo&&!strcmp(strlHead->next->s,sFindTail->s))
{
flag=1;
break;
}
strlHead=strlHead->next;
}
free(sFindTail->s);
free(sFindTail);
returnflag;
}

STRL*inputStr(STRL*strlHead,STRL*strlTail,intff)
//ff!=1錄入多行任意長度字元串,連續回車結束錄入,返回尾節點
//ff==1錄入單行任意長度字元串,返回尾節點
{
char*str=NULL,*temp=NULL,c;
intlen,add,cnt,flag=1;//len:字元串預設長度(包含結束符號);add:長度增長值,cnt:實際錄入的字元個數;flag=0結束錄入
STRL*strlNew=NULL;
if(ff!=1)
printf("輸入多行字元串(每輸入一行回車確認,不輸入直接回車結束錄入): ");
else
printf("輸入要查找的字元串: ");
while(flag)//換行
{
cnt=0;
len=10;
add=10;
str=(char*)malloc(sizeof(char)*len);
meError(str);
while(1)//輸入一行
{
temp=NULL;
c=getch();
if(c==' '&&cnt>0)
{
strlNew=(STRL*)malloc(sizeof(STRL));
meError(strlNew);
strlNew->s=str;
strlNew->clo=cnt;
strlNew->next=NULL;
if(ff==1)//單行錄入模式
flag=0;
//保存錄入並在多行模式下開始錄入新的一行
if(!strlHead->next)
strlHead->next=strlNew;
else
strlTail->next=strlNew;
strlTail=strlNew;
printf(" ");
break;
}
if(c==' '&&cnt==0)//結束錄入
{
if(ff==1)
returnNULL;
flag=0;
free(str);
break;
}
if(c!=' '&&cnt>=len-1)//一行字元串內存已滿,擴充內存
{
len+=add;
temp=(char*)realloc(str,sizeof(char)*len);
meError(temp);
str=temp;
}
str[cnt++]=c;
str[cnt]=0;
printf("%c",c);
}

}
returnstrlTail;
}
voidmeError(void*p)//內存申請失敗
{
if(p==NULL)
{
printf("異常:內存申請失敗!回車結束程序! ");
while(getch()!=' ');
exit(0);
}
}

I. 用C語言編寫下列程序

#include <stdio.h>

int main()

{

int a=1,b=2,c=3,t;

t=a;

a=b;

b=t;

t=b;

b=c;

c=t;

printf("a=%d,b=%d,c=%d ",a,b,c);

return 0;

}


熱點內容
單片機android 發布:2024-09-20 09:07:24 瀏覽:765
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:664
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:311
子彈演算法 發布:2024-09-20 08:41:55 瀏覽:289
手機版網易我的世界伺服器推薦 發布:2024-09-20 08:41:52 瀏覽:817
安卓x7怎麼邊打游戲邊看視頻 發布:2024-09-20 08:41:52 瀏覽:162
sql資料庫安全 發布:2024-09-20 08:31:32 瀏覽:94
蘋果連接id伺服器出錯是怎麼回事 發布:2024-09-20 08:01:07 瀏覽:507
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:658
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:481