1. 程式人生 > 實用技巧 >Deepin install dotnet-sdk-5.0

Deepin install dotnet-sdk-5.0

1.實驗任務1

// 一元二次方程求解 // 重複執行, 直到按Ctrl+Z結束 //
#include<math.h>
#include <stdio.h>
int main()
{
        float a, b, c, x1, x2;
        float delta, real, imag;
        printf("Enter a, b, c:  ");
        while(scanf("%f%f%f", &a, &b, &c) != EOF)
        {        
            if(a == 0
) printf("not quadratic equation.\n\n"); else { delta = b*b - 4*a*c; if(delta >= 0) { x1 = (-b + sqrt(delta)) / (2*a); x2 = (-b - sqrt(delta)) / (2 * a); printf(
"x1 = %.2f, x2 = %.2f\n\n", x1, x2); } else { real = -b / (2 * a); imag = sqrt(-delta) / (2 * a); printf("x1 = %.2f + %.2fi, x2 = %.2f - %.2fi\n\n", real, imag, real, imag); } } printf("Enter a, b, c: "); }
return 0; }

2.實驗任務2

// 生成N個0~9之間的隨機整數,並列印輸出 
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
#define N 5
int main() 
{    
    int x, n;         
    srand(time(0));// 以當前系統時間作為隨機種子     
    n = 0;    
    do 
    {        
        n++;        
        x = rand()%10;// 生成一個0~9之間的隨機整數         
        printf("%3d", x);
    }
    while(n<N);        
        printf("\n");
    return 0; 
} 

3.實驗任務3

#include <stdio.h> 
#include <stdlib.h> 
int main() 
{
    int i, j, n=0;
    for (i = 101; i <= 200;i++)
    {
        for (j = 2; j * j <= i;j++)   
            if(i%j==0)break;
        if(j*j>i)
        {
            printf("%5d", i);
            n++;
            if(n%5==0)printf("\n");
        }
    }
    printf("\n100~200之間一共有%d個素數\n", n);
    return EXIT_SUCCESS; 
} 

4.實驗任務4

#include<stdio.h>
#intclude<stdlib.h>
int main()
{
    long s,t=0;
    int  i=1, j;
    printf("Enter a number:");
    while(scanf("%ld",&s)!=EOF)
    {
        i = 1, t = 0;
        while(s)
        {
            j = s % 10;
            s = s / 10;
            if(j%2)
            {
                t += j * i;
                i *= 10;
            }
        }
        printf("new number is:%ld\n\n", t);
        printf("Enter a number:");
    }
    return EXIT_SUCCESS; 
} 

思路:我的想法是逐一判斷每位上的數是否是奇數,然後再按輸出時所處的位數放入一新數裡

  • 對s取10的餘數,可以得到最後一位的數字,再判斷是否是奇數,再除以10減去最後一位
  • 輸出的數是由奇數構成的新的數,將上面所得的奇數乘以所在位數(即乘以1,10,100....)可以得到新數

#include<stdio.h> 
#include<stdlib.h>
#include<string.h>
#define MAXN 5000
int main() 
{
    char str[MAXN];
    int i,len,n;
    printf("Enter a number:");
    while((scanf("%s",str))!=EOF)
    {
        len = strlen(str);
        printf("new number is:");
        for (i = 0; i < len;i++)
        {
            n = str[i] - '0';
            if(n%2)
                printf("%d", n);
        }
        printf("\n\n");
        printf("Enter a number:");
    }return EXIT_SUCCESS; 
} 

注:如果資料超過長整形的範圍,又要得到結果的話,只能用陣列來模擬,程式碼如上。

5.實驗任務5

#include<stdio.h> 
#include<stdlib.h>
int main() 
{
    double s, i, n, x,sgn;
    printf("Enter n(1~10):");
    while(scanf("%lf", &n)!=EOF)
    {
        s = 0, x = 1;
        for (i = 1,sgn=1; i <=n;i++,sgn*=-1)
        {
            x *= i;
            s += (1 / x)*sgn;
        }
        printf("n=%d,s=%lf\n\n",n,s);
        printf("Enter n(1~10):");
    }return EXIT_SUCCESS; 
} 

6.實驗任務6

#include<stdio.h> 
#include<stdlib.h>
#include<time.h>
int main() 
{
    int random,i,j,n=3;
    srand(time(0));
    random = rand() % 31 + 1;
    printf("猜猜2020年12月哪一天會是你的lucky day\n\n");
    printf("開始嘍,你有三次機會,猜吧(1~31):");
    for (i = 0; i < n;i++)
    {  
        if(i)printf("再猜(1~31):");
        scanf("%d", &j);
        if(random==j)
        {
            printf("猜對啦!\n");
            return EXIT_SUCCESS;
        }
        else if(j<random)
            printf("你猜的日期早了,luck day還沒到呢\n\n");
        else
            printf("你猜的日期晚了,luck day悄悄溜到前面啦\n\n");
    }
    printf("次數用完啦,偷偷告訴你:12月,你的lucky day是%d號\n", random);
    return EXIT_SUCCESS; 
}