C語言實驗二

陈欣然發表於2024-04-13

** Task1 **

點選檢視程式碼
 #include<stdio.h>
 #include<stdlib.h>
 #include<time.h>
 
 #define N 5
 
 int main()
 {
     int number;
     int i;

     srand(time(0));

     for(i=0;i<N;++i){
         number = rand()%65 +1;
         printf("20238331%04d\n",number);
     }
     system("pause");
     return 0;
 }


Line15的作用是生成一個1~65之間的隨機數。
這個程式的功能是隨機生成五個同學的學號

** Task2 **

點選檢視程式碼
 #include<stdio.h>
 #include<stdlib.h>
  
 int main()
 {
     char color;
 
     while(scanf("%c",&color)!=EOF)
     {
         switch(color)
         {
         case'r':printf("stop!\n");
		                 break;
         case'g':printf("go go go\n");
		                 break;
         case'y':printf("wait a minute\n");
		                 break;
         default:printf("something must be wrong...\n");
		                 break;
         }
         getchar();
     }
 
     system("pause");
     return 0;
 }

** Task3 **

點選檢視程式碼
 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>
 
  int main()
 {
     int luckyday, m, n = 0;
     
     srand(time(0));
     luckyday = rand() % 31 + 1;
     printf("猜猜2024年5月哪一天會是你的lucky day\n\n");
     printf("開始嘍,你有三次機會,猜吧(1~31):");
      
     while (n < 3)
     {
         scanf("%d", &m);
         printf("\n");
  
         if (m == luckyday)
         {
             printf("哇,猜中了:-)\n");
             return 0;
         }
         else if (m < luckyday)
         {
             printf("你猜的日期早了,你的lucky day還沒到呢\n");
         }
         else
         {
             printf("你猜的日期晚了,你的lucky day在前面哦\n");
         }
         
         if (n < 2)
         {            
             printf("\n再猜(1~31):");       
         }
    
         n++;
     }
  
     if (n == 3)
     {
         printf("\n\n次數用完了,偷偷告訴你,5月你的lucky day是%d號\n",luckyday);
     }
     
     return 0;
 }   


** Task4 **

點選檢視程式碼
#include <stdio.h>
#include <stdlib.h>

int main() {
	int n, a, j, i,k;
	double s;

	while (scanf("%d%d", &n, &a) != EOF) {
		s = 0.0;
		for (i = 1; i <= n; i++) {
			k = 0;
			for (j = 0; j < i; j++) {
				k = k * 10 + a;
		}
			s += (double)i / k;
		}
		printf("n=%d,a=%d,s=%1f\n\n", n, a, s);
	}
	return 0;
}

** Task5 **

點選檢視程式碼
#include <stdio.h>
#include <stdlib.h> 

int main() {
	int i, j;
	for (i = 1; i <= 9; i++) {
		for (j = 1; j <= i; j++) {
			printf("%d*%d=%d\t", i, j, i * j);
		}
		printf("\n");
	}
	return 0;
}

** Task6 **

點選檢視程式碼
#include <stdio.h>
#include <stdlib.h>

int main() {
	int n, i, k, j;
	printf("input n:");
	scanf("%d", &n);

	for (i = 0; i < n; i++)
	{
		for (j = 0; j < i; j++)
		{
			printf("\t");
		}
		for (k = 2 * (n-i) - 1; k>0; k--)
		{
			printf(" O \t");
		}
		printf("\n");

			for (j = 0; j < i; j++)
			{
				printf("\t");
		}
		for (k = 2 * (n-i) - 1; k>0; k--) {
			printf("<H>\t");
		}
		printf("\n");

		for (j = 0; j < i; j++)
		{
			printf("\t");
		}
		for (k = 2 * (n - i) - 1; k > 0; k--)
		{
			printf("I I\t");
		}
		printf("\n");
	}
	return 0;
}


** 實驗總結 **
注意程式碼的先後順序,勿將主程式寫進for迴圈裡
書寫程式碼時注意空格的使用

相關文章