日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C 经典算法

發布時間:2025/7/14 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C 经典算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

選擇排序法:



? int a[10] = {3,2,4,1,5,6,9,6,7,0};int n = 0;for (int i = 0; i<10-1; i++) {for (int j = i+1; j<10; j++) {if (a[i]>a[j]) {n = a[i];a[i] = a[j];a[j] = n;}}}for (int i = 0; i<10; i++) {printf("%3d",a[i]);}


1、 編程實現對鍵盤輸入的英文名句子進行加密。用加密方法為,當內容為英文字母時其在26字母中的其后第三個字母代替該字母,若為其它字符時不變。


void main(){char str[1024];int i=0;printf("請輸入一串字符:");scanf("%s",str);while(str[i]!='\0'){if((str[i]>='a'&&str[i]<='w')||(str[i]>='A'&&str[i]<='W'))str[i]+=3;else if((str[i]>='x'&&str[i]<='z')||(str[i]>='X'&&str[i]<='Z'))str[i]=str[i]-26+3;i++;}printf("加密后的字符串為%s\n",str);}
?



3、 從鍵盤輸入一指定金額(以元為單位,如345.78),然后顯示支付該金額的各種面額人民幣數量,要求顯示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少張。


?? ?

?

? void main(){int money[9]={10000,5000,1000,500,200,100,10,5,1};float temp;int data;int result[9];int i;printf("請輸入一金額(精確到分):");scanf("%f",&temp);if(temp<0){printf("輸入金額小于0,錯誤");exit(0);}data=temp*100;for(i=0;i<9;i++){result[i]=data/money[i];data=data%money[i];if(i==6)printf("%d角%d張;",money[i]/10,result[i]);else if(i>6)printf("%d分%d張;",money[i],result[i]);elseprintf("%d元%d張;",money[i]/100,result[i]);}}

5、 編程在一個已知的字符串中查找最長單詞,假定字符串中只含字母和空格,空格用來分隔不同單詞。


?

?? void main(){char str[]={"ASEEsdffw WEsdfe joiejorjerojeojr ASOJGWOEJIOJERJJ wejr"};int len=0;int temp;int point;int i=0;while(str[i]!='\0'){temp=0;while(str[i]!=' '&&str[i]!='\0'){temp++;i++;}if(len<temp){len=temp;point=i-len;}if(str[i]=='\0')break;elsei++;}while(str[point]!=' '&&str[point]!='\0'){printf("%c",str[point]);point++;}printf("\n");}




6、 模擬n個人參加選舉的過程,并輸出選舉結果:假設候選人有四人,分別用A、B、C、D表示,當選某候選人時直接輸入其編號(編號由計算機隨機產生),若輸入的不是A、B、C、D則視為無效票,選舉結束后按得票數從高到低輸出候選人編號和所得票數。

?

#define N 100void main(){int num[5]={0,0,0,0,0};int temp;int i,j;char str[]={"ABCD0"};srand(time(0));for(i=0;i<100;i++){temp=1+(int)(5.0*rand()/(RAND_MAX+1.0));printf("%d ",temp);switch(temp){case 1:num[0]++;break;case 2:num[1]++;break;case 3:num[2]++;break;case 4:num[3]++;break;case 5:num[4]++;break;}}for(i=0;i<4;i++){for(j=i+1;j<5;j++){if(num[i]<num[j]){temp=num[j];num[j]=num[i];num[i]=temp;temp=str[i];str[i]=str[j];str[j]=temp;}}printf("\n編號為%c,得票數為%d",str[i],num[i]);}}



10、輸入一個五位以內的正整數,(1)判斷它是一個幾位數;(2)請按序輸出其各位數字;(3)逆序輸出其各位數字。

如輸入:56439,輸出:5位數

          5,6,4,3,9

??????????????? 9,3,4,6,5





? void main(){int n=0;int inter;int ys;int num[5];int i;printf("請輸入一個5位以內的正整數:");)scanf("%d",&inter);if(inter<=0||inter>99999){printf("輸入錯誤");}for(i=0;i<5;i++){if(inter/int(pow(10,4-i))!=0)break;}n=5-i; //位數printf("%d位數\n",n);ys=inter; //余數for(i=0;i<n;i++){num[i]=ys/int(pow(10,n-i-1));ys=ys%int(pow(10,n-i-1));}for(i=0;i<n;i++)printf("%d ",num[i]);printf("\n");for(i=n-1;i>=0;i--)printf("%d ",num[i]);}

從0~1000000取值? 找出重復的數//QQ號



??? int a[1000000] = {0};int b[1000000] = {0};for (int i = 0; i<1000000; i++) {a[i] = arc4random()%1000000;b[a[i]]++;// printf("%d\t",a[i]);}for (int i = 0; i<1000000; i++) {if (b[i]>1) {printf("\n%d",i);}}
??

轉載于:https://my.oschina.net/u/591005/blog/91703

總結

以上是生活随笔為你收集整理的C 经典算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。