C++刷題四

來源:互聯網
上載者:User

標籤:c++   iostream   

(一)輸入一行電報文字,將字母變成其下一字母(如’a’變成’b’……’z’變成’a’其它字元不變)

(1)#include <iostream>using namespace std;int main(){    int i=0;    char a[i];    while(cin>>a[i])    {        if(a[i]>='a'&&a[i]<'z')        {            a[i]=(int)a[i]+1;            cout<<a[i];        }        else if(a[i]=='z')            cout<<'a';        else            cout<<a[i];        i++;    }    return 0;}方法(2)#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){    int i=0;    char a[100];    gets(a);    int len=strlen(a);    while (a[i]!='\0')    {        if (a[i]>='a'&&a[i]<'z')            a[i]+=1;        else if (a[i]=='z')            a[i]='a';            i++;    }    for(i=0; i<len; i++)        cout<<a[i];    return 0;}


(二)求一個3×3矩陣對角線元素之和。

#include <iostream>using namespace std;int main(){    int a[3][3],i,j;    int s1,s2;    for(i=0;i<3;i++)        for(j=0;j<3;j++)        cin>>a[i][j];    s1=a[0][0]+a[1][1]+a[2][2];    s2=a[0][2]+a[1][1]+a[2][0];    cout<<s1<<" "<<s2<<endl;    return 0;}


(三)用篩法求N(<1000)之內的素數。

(1)#include <iostream>using namespace std;int main(){    int n,i,j;    cin>>n;    for(i=1; i<n; i++)    {        for(j=2;j<i;j++)        {            if(i%j==0)                break;        }        if(j==i)        cout<<i<<endl;    }    return 0;}(2)#include <iostream>#include <cmath>using namespace std;bool isprimer(int );int main(){    int n,i;    cin>>n;    for(i=2; i<n; i++)    {        if(isprimer(i))            cout<<i<<" "<<endl;    }}bool isprimer(int n){    int r;    for (r=2; r<=sqrt(n); ++r)        if(n%r==0)            break;    if(r>sqrt(n))        return n;}


(四)有n人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來的第幾號的那位。

#include <iostream> using namespace std; int main() {     int n,i,m,k,*p;     cin>>n;     int a[n];     p=a;   //指標p指向num    for(i=0;i<=n;i++)         *(p+i)=i+1;   ////以1至n為序給每個人編號    i=0; //i為每次迴圈時計數變數    k=0; //k為按1,2,3報數時的計數變數    m=0; //m為退出人數    while(m<n-1)   //當退出人數比n-1少時(即未推出人數大於1時) 執行迴圈體    {         if(*(p+i)!=0)             k++;   //將推出的人的編號置為0        if(k==3)         {             *(p+i)=0;             k=0;             m++;         }         i++;         if(i==n)i=0;   //報數到尾後,i恢複為0    }     while(*p==0)p++;     cout<<*p<<endl;     return 0; }  

(五)寫一個判斷素數的函數,在主函數輸入一個整數,輸出是否是素數的訊息。

#include <iostream>#include <cmath>using namespace std;int is_prime(int n){    int r;    if(n==1)        return 0;    else    {        for (r=2; r<=sqrt(n); ++r)            if(n%r==0)                break;        if(r>sqrt(n))            return 1;    }}int main(){    int flag,n;    int is_prime(int);    cin>>n;    flag=is_prime(n);    if(flag==1)        cout<<"prime"<<endl;    else        cout<<"not prime"<<endl;    return 0;}


心得體會:每天都有人在進步,我努力讓自己能夠成為他們中的一員!每天積累一些代碼,總會對自己有協助的。繼續加油!

C++刷題四

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.