1. C語言編程!
給你寫的代碼窮舉下:
代碼如下:
#include "stdio.h"
#include "conio.h"
#include<stdio.h>
main()
{
int i=1000,j;
int a,b,c,d;
int a2,b2,c2,d2;
long newB;
for(i=1000;i<5000;i++)
{
a=i%10;
b=(i/10)%10;
c=(i/100)%10;
d=i/1000;
for(j=2;j<10;j++)
{
newB=i*j;
if(newB<10000)
{
a2=newB%10;
b2=(newB/10)%10;
c2=(newB/100)%10;
d2=(newB/1000);
if(a==d2&&b==c2&&c==b2&&d==a2)
{
printf("找到一個自反數%d,%d倍後是%d,\n",i,j,newB);
}
}
}
}
getch();
}
思路如下:
1、既然是四位數。那麼最小的是1000,K倍數K>=2 &&K<20 這樣分析,1000的10倍就是5位數了。
所以K>=2&&K<10就可以。
2、5000*2就是5位數了。所以我們的窮舉范圍是1000-4999
3、對每一個考慮的數,我們用a,b,c,d來存個十百千位上的數
然後把這個數的2、3、……9倍逐一算出。對她的K倍(<10000的才有意思)
用a2,b2,c2,d2分別存個十百千上的數據。
然後比較2個數是否滿足逆序的條件。
滿足就輸出!
Dev-C++編譯結果如下:
找到一個自反數:1089,9倍後等於9801
找到一個自反數:2178,4倍後等於8712
總結:數字的拆分,2層for循環、還有程序效率的提高!
祝你好運!
2. c語言編程
#include<stdio.h>
intmain()
{
doublen,a,b;
scanf("%lf%lf%lf",&n,&a,&b);
if(n>a&&n<b)
{
printf("yes ");
}
else
{
printf("no ");
}
return0;
}
3. 編程c c++
#include<stdio.h>
#include<string.h>
constintN=1000+5;
boolisChar(charc){
return(c>='a'&&c<='z')||(c>='A'&&c<='Z')||(c>='0'&&c<='9');
}
intmain(intargc,char**argv){
chars[N];
charss[N];
scanf("%s",s);
scanf("%s",ss);
intlen=strlen(s);
for(inti=0;i<len;i++){
if(isChar(s[i])){
s[i]='1';
}else{
s[i]='0';
}
}
intcount=0;
for(inti=0;i<len;i++){
if(s[i]==ss[i]){
count++;
}
}
printf("%.2lf%% ",count*100.0/len);
return0;
}
正確無誤。
4. c語言 編程
#include<stdio.h>
#include<math.h>
void main()
{
double x,sum,p,f;
int i,j,k;
sum=x=0.5;
p=0;
k=-1;
for(i=1;sum-p>1e-6;i++)
{
f=1;
for(j=1;j<=i;j++)
f*=j;
p=sum;
sum+=k*(pow(x,2*i+1)/((2*i+1)*f));
k=-k;
}
printf("%f\n",sum);
}
5. 編程 a=c+c
如果c只是一個單位的話,那隻要在輸出的時候加上c就好了,比如
printf("a = %dc",a);
如果c還有值的話,就要
printf("a = %fc",(double)(double)a/(double)c);或直接
printf("a = %dc",a/c);
6. C語言編程
#include<stdio.h>
int CalcCommonFactorOf(int a,int b)
{
int max=a>b?a:b;
int min=a<b?a:b;
a=max;
b=min;
int r=a%b;
if(0==r)//若a能被b整除,則b就是最大公約數。
return b;
else
return CalcCommonFactorOf(b,r);
}
int CalccCommonMult(int a,int b)
{
return a*b/CalcCommonFactorOf(a,b);
}
int main()
{
int x,y,fac,mult;
printf("輸入兩個整數:\n");
scanf("%d%d",&x,&y);
fac=CalcCommonFactorOf(x,y);
mult=CalccCommonMult(x,y);
printf("最大公約數:%d\n",fac);
printf("最小公倍數:%d\n",mult);
return 0;
}
7. 編程C語言
這個是通過字母的ASCII碼的關系來實現的,比如printf("%c",65);就是在屏幕上顯示一個A,因為%c表示的是顯示一個字元,而後面的65就是A的ASCII碼,而把小寫轉化為大小則是因為大小寫字母之間有規律,小寫和大寫之間有一個固定的差值,差值好像是32吧,比如'a'-32就是A的ASCII碼了。
8. 寫編程c語言
1.
#include<stdio.h>
#include <string.h>
void main()
{
char a[100],b[100];
printf("請輸入字元串a:");
gets(a);
printf("請輸入字元串b:");
gets(b);
if(strcmp(a,b) == 0)
printf("a == b ");
else
printf("a!=b ");
}
2.
#include<stdio.h>
#include <string.h>
void main()
{
char a[100],b[100];
printf("請輸入字元串a:");
gets(a);
printf("請輸入字元串b:");
gets(b);
strcat(a,b);
printf("a+b = %s ",a);
}
3.
#include <stdio.h>
int main(void)
{
int a[5] = {0,3,5,6,8};//第一個有序數組
int b[7] ={2,4,7,9,10,16,20};//第二個有序數組
int c[20];//待放入的數組
int i, j, k;
i = j = k = 0;
while (i < 5 && j < 7)
{
if (a[i] < b[j])
c[k++] = a[i++];
else
c[k++] = b[j++];
}
while (i < 5)
c[k++] = a[i++];
while (j < 7)
c[k++] = b[j++];
printf("新的有序數組為:");
for(i = 0; i < 12; i++)
printf("%d ",c[i]);
printf("
");
}
9. 最簡單的c語言編程
很多程序都是非常簡單的:
1.輸入2個正整數m和n,求其最大公約數和最小公倍數
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公約數啊*/
r=s/m;
printf("m和n最大公約數為 %d\n",m);
printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/
return 0;
}
2.輸出100以內能被3整除且個位數為6的所有整數。
#include<stdio.h>
int main(void)
{
int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;
}
3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的階乘 %d\n",i,term);
}
printf("1到10各數階乘的和 %d\n",sum);
return 0;
}
4.使用嵌套循環產生下列由大寫字母組成的圖
#include<stdio.h>
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)
{
for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}
5. 編程輸出所有三位數中的素數。
#include<stdio.h>
int main(void)
{
int x,i;
for(x=100;x<=999;x++)
{
for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}
6. 定義一個函數even(),判斷一個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶數\n",x);
else
printf("%d 是奇數\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
7. 編寫函數mypow,求整型變數x的y次方。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;
}
8.輸入一個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。
#include<stdio.h>
int main(void)
{
int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序數 %d\n",x,y);
return 0;
}
10. 電腦編程c語言
1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個研發環境,例如turbo C 2.0,這個曾占據了DOS時代研發程式的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C ,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程式設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都很好,更有題庫測試環境,據說有好幾千題,甚至更有一個windows下的trubo C,初學者甚至不用裝其他的編譯器,就能夠練習編程了,很適合初學者。更有一個「C語言學習系統」軟體,但是感覺只是個題庫系統,假如您覺得題做的不夠,不妨也能夠試試。
2:葵花寶典
學習電腦語言最好的方法是什麼?答曰:讀程式。 對真正的成功者來說,不論他的生存條件如何,都不會自我磨滅
沒錯,讀程式是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習他們的常式。當然,對於沒有學過任何電腦語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的任何概念,然後不放過這一章中提到的任何常式,然後仔細研讀程式,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或相同的,自己試圖寫出這段已讀懂的程式,不要以為常式您已讀懂了,您就能夠寫出和他相同的程式,絕對不一定,不相信您就試一試吧,假如寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程式,反反復復,直到您手到擒來為止,祝賀您,您快入門了。
3:登峰造極
寫程式的最高境界其實就是掌控各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程式就是程式設計高手呢?非也,寫底層程式,無非是掌控了硬體的結構,況且硬體和硬體還不相同,要給一個晶元寫驅動程式,無非就是掌控這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這但是是熟悉一些io函數罷了。
那麼怎樣才算精通程式設計呢?怎樣才能精通程式設計呢?舉個例子:您面前有10個人,找出一個叫「張三」的人,您該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:您挨個去問「您是不是張三?」,直到問到的這個人就是張三。第三種方法:您去挨個問一個人「您認不認識張三,指給我看」。不要小看這個問題,您說當然會選第一種方法,沒錯恭喜您答對了,因為這個方法最快,效率最高,但是在程式設計中找到解決問題的最優方法和您用的手段卻是考驗一個程式員程式設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌控好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程式設計高手的人研讀此書。
總結
1、先照書上的題目寫,題目的設計是有道理的鞏固基礎知識。
2、找數學題,寫個小程序解決,熟悉演算法和基礎函數。
3、自己出題目,小一點的,如自編資源管理器、自編寫字板之類,練習WINDOWS下的編程。
4、結合身邊的事,找個中等課題,或看別人的程序,自已想辦法實現。
5.把教材中的例子,自己仿照著寫一遍,上機運行,看結果.要知道,任何產品都是有例子的,有機結合或仿照。
6.從自己熟悉的事情入手,如成績統計,編制一段程序,完成一個功能.然後再完善。
7.要反復破壞代碼,從破壞中尋找代碼的規律。
8.必須經常反復上機練習。