1170-1079: 例題5-10 求素數

1169: 例題5-9 判斷素數

題目描述

輸入一個大於1的正整數,判斷它是否爲素數(prime,又稱質數)。

如果這個數是素數,則輸出yes,否則輸出no。

末尾輸出換行。

輸入

一個大於1的正整數

輸出

根據輸入數據,判斷概述是否爲素數。如果這個數是素數,則輸出yes,否則輸出no。

注意末尾輸出換行。

樣例輸入 Copy

7

樣例輸出 Copy

yes
#include<stdio.h>
#include<math.h>
int main()
{
    int a,b;
    for(a=100;a<=200;a++)
       {
           for(b=2;b<a;b++)
 
 
            if(a%b==0)
                break;
            if(b>sqrt(a))
            {
            printf("%d\n",a);
            }
        }
}

1171: 例題5-11 譯密碼

題目描述

爲使電文保密,往往按照一定的規律將其轉換成密碼,收報人再按照約定的規律將其譯成原文。例如,某次發報時採用的密碼規律爲:

將字母A變成字母E,a變成e,即變成其後的第4個字母,W(w)變成A(a),X(x)變成B(b), Y(y)變成C(c),Z(z)變成D(d),其規律如下圖所示:

 

字母按照此規律轉換,非字母字符保持原狀不變,如:

China!按此規律將轉換爲Glmre!

要求從鍵盤輸入一行字符,輸出其相應的密碼。

輸入

可以包含空格等特殊符號的一行字符(以回車結束)。

輸出

加密後的字符序列,末尾輸出換行。

樣例輸入 Copy

China!

樣例輸出 Copy

Glmre!
#include<stdio.h>
int main()
{
    char c[200];
    int i;
    gets(c);
    for(i=0;c[i]!=0;i++)
    {
        if(c[i]>='A'&&c[i]<'W'||(c[i]>='a'&&c[i]<'w'))
        {c[i]+=4;}
        if((c[i]>='W'&&c[i]<='Z')||(c[i]>='w'&&c[i]<='z'))
        {c[i]-=26;}
    }
    puts(c);
    getchar();
}

1172-1173: 習題5-3-1 求最大公約數

 

輸入

輸入以空格分隔的2個正整數

輸出

輸出輸入2數的最大公約數,末尾輸出換行。

樣例輸入 Copy

14 49

樣例輸出 Copy

7
#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d%d",&a,&b);
    for(c=(a<b?a:b);c>1;c--)
        if(a%c==0&&b%c==0)
        {printf("%d\n",c);break;}
}

1174-1175: 習題5-3-3 最小公倍數

 

題目描述

輸入兩個正整數,求其最小公倍數。

輸入

輸入以空格分隔的兩個正整數。

輸出

輸出此兩數的最小公倍數,末尾輸出換行。

樣例輸入 Copy

14 24

樣例輸出 Copy

168
#include<stdio.h>
int main()
{
    int a,b,i;
    scanf("%d%d",&a,&b);
    for(i=2;i<=a*b;i++)
        if(i%a==0&&i%b==0)break;
        printf("%d\n",i);
    return 0;
}
 

 

1176: 習題5-4 字符統計

 

提交狀態討論版

題目描述

輸入一行字符,分別統計其中英文字母、空格、數字和其他字符的個數,分行輸出該結果。

輸入

一行字符,可以包含字母、數字、空格、標點等符號

輸出

分行輸出大小寫英文字母、空格、數字和其他字符的個數。

如:

characters=字母個數

spaces=空格個數

numbers=數字個數

others=其他字符個數

樣例輸入 Copy

My input123 @%chars.

樣例輸出 Copy

characters=12
spaces=2
numbers=3
others=3
#include<stdio.h>
int main()
{
    int zimu=0,kengge=0,num=0,others=0;
    char ch;
    while((ch=getchar())!='\n')
    {
        if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
            zimu++;
        else
            if(ch>='0'&&ch<='9')
                num++;
            else
                if(ch==' ')
                kengge++;
                else
                    others++;
    }
    printf("characters=%d\nspaces=%d\nnumbers=%d\nothers=%d\n",zimu,kengge,num,others);
}

1177: 習題5-5 求和

 

提交狀態討論版

題目描述

求a+aa+aaa+...+aa....a(n個a)的和,其中a是一個1~9之間的數字,由鍵盤輸出,n表示a的位數,由鍵盤輸出。

如:

2+22+222+2222+22222

此時a=2,n=5.

輸入

輸出a和n的值,以空格分隔。

輸出

輸出a+aa+aaa+...+aa....a(n個a)的和,末尾換行。

樣例輸入 Copy

2 5

樣例輸出 Copy

24690

 

#include<stdio.h>
int main()
{
    double a,i,j,s,n;
    scanf("%lf%lf",&a,&n);
    for(i=1,j=1,s=0;n-i>=0;i++,j=j*10+1)
    {
    s+=j;
    }  s*=a;
    printf("%.0lf\n",s);
}

1179: 習題5-6-1 連續階乘求和

 

 

提交狀態討論版

題目描述

輸入一個正整數N,求1!+2!+3!+...+N!,即求

提示:由於>10的整數的階乘非常大,已超出整數的表示範圍,故求階乘時,需要將變量定義爲double類型。

輸入

輸入一個正整數N

輸出

1~N連續階乘的和,1!+2!+3!+...+N!的和,末尾換行。

樣例輸入 Copy

10

樣例輸出 Copy

4037913
#include<stdio.h>
int main()
{
    double n,i,t=1,s=0.0;
    scanf("%lf",&n);
    for(i=1;i<=n;i++)
    {
        t*=i;
        s+=t;
    }
    printf("%.0lf",s);
    return 0;
 
}
 

注:這些序列都是入門級水題,還是希望大家先自行思考,不要盲目的copy代碼,對自己確實是沒有什麼意義的,也要學會學習別人的代碼,拓寬自己思維,集思廣益,最後總結出自己的邏輯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章