C語言編程練習(一)


  問題一:

  問題描述:輸入n個數,n<=100,找到其中最小的數和最大的數

  輸入樣例: 4

                       1 2 3 4

  輸出樣例:14

 1 #include "stdio.h"
 2 int main() {
 3     int i=0; 
 4     int max=0,min=0; 
 5     int n=0; 
 6     int a[100]; 
 7     scanf("%d",&n);
 8     for(i=0;i<n;i++){
 9         scanf("%d",&a[i]);
10     }
11     max=min=a[0];
12     for(i=1;i<n;i++){
13         if(max<=a[i]){
14             max=a[i];
15         }
16         if(min>=a[i]){
17             min=a[i];
18         }
19     }
20     printf("%d %d",min,max);
21 }

 

  問題二:

  問題描述:求n個數的和

  輸入樣例: 4

                       1 2 3 4

  輸出樣例:10

 1 #include "stdio.h"
 2 int main() {
 3     int i=0; 
 4     int b=0;
 5     int n=0; 
 6     int a[100]; 
 7     scanf("%d",&n);
 8     for(i=0;i<n;i++){
 9         scanf("%d",&a[i]);
10     }
11     for(i=0;i<n;i++){
12         b+=a[i];
13     }
14     printf("%d",b);
15     return 0;
16 }

 

  問題三:

  問題描述:給出兩個浮點數,請你判斷這兩個浮點數是否相等

  輸入樣例:2.980000001 2.9800000000001

  輸出樣例:yes

 1 #include "stdio.h"
 2 int main() {
 3     float a=0; 
 4     float b=0; 
 5     scanf("%f",&a);
 6     scanf("%f",&b);
 7     if(a==b){
 8         printf("yes");
 9     }
10     else{
11         printf("no");
12     }
13     return 0;
14 }

 

  問題四:

  問題描述:保留兩位小數輸出一個浮點數。

  輸入樣例:11

  輸出樣例:11.00

1 #include "stdio.h"
2 int main() {
3     double a=0; 
4     scanf("%lf",&a);
5     printf("%.2lf\n",a);
6     return 0;
7 }

 

  問題五:

  問題描述:.輸入機票原價(3到4位的正整數,單位:元),再輸入機票打折率(小數點后最多一位數字)。編程計算打折后機票的實際價格(單位:元。計算結果要將個位數四舍五入到十位數“元”)。輸入只有一行兩個數(兩數間用一個空格分隔),第一個為整數,表示機票原價,第二個整數或實數(如是實數,小數點后最多1位數字)表示打折率。

  輸入樣例:888 7

  輸出樣例:620

 1 #include"stdio.h"
 2 int main()
 3 {
 4     int a=0;
 5     float b=0;
 6     int c=0;
 7     int d=0;
 8     int e=0;
 9     scanf("%d %f",&a,&b);
10     c=(int)(a*b*0.1);
11     d=(int)c%10;
12     if(d>=5){
13         e=(c/10+1)*10;
14     }
15     else{
16         e=(c/10)*10;
17     }
18     printf("%d",e);    
19     return 0;
20 
21 }

  

  問題六:

  問題描述:.給出字符串a和字符串b,保證b是a的一個子串,請你輸出b在a中第一次出現的位置。

  輸入樣例:abcd bc

  輸出樣例:2

 1 #include <stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5     char str1[30],str2[30],*i,*j;
 6     scanf("%s %s",str1,str2);
 7     j=&str1[0];
 8     i=strstr(str1,str2);
 9     printf("%d",i-j+1);
10     return 0;
11 }

 

  問題七:

  問題描述:.給出一個英語句子,希望你把句子里的單詞順序都翻轉過來

  輸入樣例:I love you

  輸出樣例:you love I 

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main(void){
 4     char a[100];
 5     char b[100];
 6     int n,m,len=0;
 7     gets(a);
 8     for (n=0;n<=strlen(a)-1;n++){
 9         len++;
10         b[n]=a[strlen(a)-1-n];
11         if(a[strlen(a)-1-n]==' '){
12             for (m=n-1;m>n-len;m--) 
13             printf("%c",b[m]);
14             printf(" "); 
15             len=0; 
16         }
17     }
18     if(len>0){
19         for (m=n-1;m>=n-len;m--){
20             printf("%c",b[m]);
21         }
22     } 
23     return 0;
24 }

 

  (最近在編程的時候有所體會,邏輯和算法是一個程序員的基本功。我們往往重視一些工具性的語言,卻忽略了一些基礎的邏輯問題,導致編寫代碼的時候邏輯不清,影響代碼質量。所以我決定在課余之時,做一些C語言或者java的編程練習,鍛煉自己的思維邏輯。並將所做練習同步在博客之中,一方面為了勉勵自己,持之以恆。另一方便也希望能夠幫助正要入門或者想要練習編程的同學。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM