<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      2025年春考技能測試網絡技術+軟件與應用技術真題

      3.8網絡第1場 8:40-9:40

      • 1.輸入一串字符串,保留前面和中間的"#",刪除后面所有連續的"#"。如輸入"Hello#C####",輸出"Hello#C"
      #include <stdio.h>
      #include <string.h>
      int main(){
      	char s[100];
      	int i, length, new_length;
      	printf("請輸入字符串,要求以#結束\n");
      	gets(s);
      	length = strlen(s);
      	for(i = length - 1; i>=0; i--){
      		if(s[i] == '#'){
      			s[i] = '\0';
      			new_length --;
      		}
      		else {
      			break;
      		}
      	}
      	printf("刪除后方#后的字符串為:\n");
      	puts(s);
      	return 0;
      }
      
      • 2.輸入桌子的平米和椅子的數量,如果是1平米,價格是1200;如果是2平米,價格是2200。如果椅子數量不高于4個,每把價格100元,否則超過4個的部分每把價格80元。輸入桌子的平米數(1或2)以及椅子的數量,計算總價格
      #include <stdio.h>
      int main(){
      	int num1, num2, money1, money2, total;
      	printf("請輸入桌子的平方數(1或2):\n");
      	scanf("%d", &num1);
      	printf("請輸入椅子的數量:\n");
      	scanf("%d", &num2);
      	switch(num1){
      		case 1:
      			money1 = 1200; break;
      		case 2:
      			money1 = 2200; break;
      	}
      	if(num2>0 && num2 <= 4){
      		money2 = 100 * num2;
      	}	
      	else if(num2 > 4){
      		money2 = 100 * 4 + (num2 - 4) * 80;
      	}
      	total = money1 + money2;
      	printf("桌子花費%d元,椅子花費%d元,共計%d元.", money1, money2, total);
      	return 0;
      }
      
      

      3.8網絡第2場 10:50-11:50

      • 1.現有2個數組a和b,請將a數組中有但b數組中沒有的字符存入數組c并輸出c
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	char a[MAX], b[MAX], c[MAX];
      	int length_a, length_b, i, j, k = 0;
      	printf("請輸入字符串a的值:");
      	gets(a);
      	printf("請輸入字符串b的值:");
      	gets(b);
      	length_a = strlen(a);
      	length_b = strlen(b);
      	for(i = 0; i < length_a; i++){
      		for(j = 0; j < length_b; j++){
      			if(a[i] == b[j]){
      				break;
      			}
      		}
      		if(j == length_b){
      			c[k++] = a[i];
      		}
      	}
      	c[k] = '\0';
      	printf("數組a中有但數組b中沒有的字符為:%s", c);
      	return 0;
      }
      // 上述代碼有一個小bug,即當a為"nihaoa",b為"woshi"的時候,c為"naa",嚴格來講c應該為"na"
      // 解決方法有很多,比如在遍歷數組a時先進行一次去重操作
      
      • 2.有一本書共160頁,第一天讀了10頁,以后每天都比前一天多讀5頁,請問幾天可以讀完,最后一天讀了多少頁?
      #include <stdio.h>
      int main(){
      	int day = 1, page_every_day = 10, page_total = 10;
      	int last_day_pages;
      	while(page_total <= 160){
      		page_every_day += 5;
      		page_total += page_every_day;
      		day++;
      	}
      	last_day_pages = 160 - (page_total - page_every_day);
      	printf("一共讀了%d天 最后一天讀了%d頁", day, last_day_pages);
      	return 0;
      }
      

      3.8網絡第3場 14:00-15:00

      • 1.用戶輸入密碼進行判斷,總共有5次機會。如果正確則提示密碼正確,否則提示密碼錯誤,并提醒剩余的可用次數
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	int count = 5;
      	char pwd[MAX] = "hello@845";
      	char user_pwd[MAX];
      	while(count >= 1){
      		printf("請輸入用戶密碼:");
      		gets(user_pwd);
      		if(strcmp(pwd, user_pwd) == 0){
      			printf("登錄成功,正在退出...");
      			break;
      		}
      		count --;
      		printf("登錄失敗!剩余%d次機會\n", count);
      		if(count == 0){
      			printf("次數已用完");
      		}
      		
      	}
      	return 0;
      }
      
      • 2.某出租車公司規定6:00-23:00打車,3km之內是8元,超過3km的話每公里多收3元。23:00-次日6:00打車,3km之內是10元,超過3km的話每公里多收3.5元。輸入時間段和公里數,求車費共多少元
      #include <stdio.h>
      int main(){
      	int time;
      	float distance, money;
      	while(1){
      		printf("請輸入時間和行駛公里數:");
      		scanf("%d %f", &time, &distance);
      		if(time < 0 || distance < 0){
      			printf("輸入有誤!, 請重新輸入!\n");
      			continue;
      		}	
      		if(time >= 6 && time < 23){
      			if(distance <= 3){
      				money = 8 * distance;
      			}
      			else {
      				money = 3 * 8 + (distance - 3) * (8 + 3);
      			}
      		}
      		else {
      			if(distance <= 3){
      				money = 10 * distance;
      			}
      			else {
      				money = 3 * 10 + (distance - 3) * (10 + 3.5);
      			}
      		}
      		printf("%d點行駛了%.3f公里,支付%.3f元", time, distance, money);
      		break;
      	}
      	return 0;
      }
      

      3.8網絡第4場 16:10-17:10

      • 1.現有10名同學的成績,求最高分是多少,并計算最高分出現了多少次
      #include <stdio.h>
      int main(){
      	int score[10] = {89, 90, 78, 95, 91, 95, 95, 88, 65, 80};
      	int max = score[0], count = 0, i;
      	for(i = 1; i < 10; i++){
      		if(score[i] > max){
      			max = score[i];
      		}
      	} 
      	for(i = 0; i < 10; i++){
      		if(score[i] == max){
      			count ++;
      		}
      	}
      	printf("最高分為%d, 出現了%d次", max, count);
      	return 0;
      }
      
      • 2.輸入正整數n,統計1-n的數中一共出現了多少次8
      #include <stdio.h>
      int main(){
      	int n, count = 0, i, data, a;
      	printf("請輸入n的值:");
      	scanf("%d", &n);
      	for(i = 1; i <= n; i++){
      		data = i;
      		while(data){
      			a = data%10;
      			if(a == 8){
      				count++;
      			}
      			data /= 10;
      		}
      	}
      	printf("一共出現了%d次8", count);
      	return 0;
      }
      
      
      #include <stdio.h>
      int cal_eight(int);
      int main(){
      	int n, count, a;
      	printf("請輸入n的值:");
      	scanf("%d", &n);
      	count = cal_eight(n);
      	printf("一共出現了%d次8", count);
      	return 0;
      }
      
      int cal_eight(int num){
      	int i, data, a, count = 0;
      	for(i = 1; i <= num; i++){
      		data = i;
      		while(data){
      			a = data % 10;
      			if(a == 8){
      				count++;
      			}
      			data /= 10;
      		}
      	}
      	return count;
      }
      

      3.8軟件第1場 8:00-9:00

      • 1.求運費
      • 2.輸入字符串,統計大寫字母、小寫字母和數字的個數
      #include <stdio.h>
      #define MAX 100
      int main(){
      	char s[MAX], t;
      	int i = 0, num_upper = 0, num_lower = 0, num_digit = 0;
      	printf("請輸入字符串:");
      	gets(s);
      	while(s[i] != '\0'){
      		t = s[i];
      		if(t >= 'A'&& t <= 'Z'){
      			num_upper++;
      		}
      		else if(t >= 'a'&&t <= 'z'){
      			num_lower++;
      		}
      		else if(t >= '0'&&t <= '9'){
      			num_digit++;
      		}
      		i++;
      	}
      	printf("大寫字母%d個, 小寫字母%d個, 數字字符%d個", num_upper, num_lower, num_digit);
      	return 0;
      }
      

      3.8軟件第2場 11:00-12:00

      • 1.調用函數求平均年齡
      #include <stdio.h>
      float cal_avg_age(int s[], int n){
      	int i;
      	float avg = 0;
      	for(i = 0; i < n; i++){
      		avg += s[i];
      	}
      	avg /= n;
      	return avg;
      }
      int main(){
      	int age[6] = {25, 50, 31, 37, 19, 20}, n = 6;
      	float avg_age;
      	avg_age =  cal_avg_age(age, n);
      	printf("平均年齡為%.2f", avg_age);
      	return 0;
      }
      
      • 2.判斷輸入的密碼是否正確
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	char user_pwd[MAX], pwd[MAX] = "hello@904";
      	printf("請輸入用戶密碼:");
      	gets(user_pwd);
      	if(strcmp(user_pwd, pwd) == 0){
      		printf("密碼正確, 登錄成功!");
      	}
      	else{
      		printf("密碼錯誤, 登錄失敗!");
      	}
      	return 0;
      }
      

      3.8軟件第3場 13:00-14:00

      • 1.定義一個3行3列的數組,求每行的最大值
      #include <stdio.h>
      #define ROW 3
      #define COL 3
      int main(){
      	int a[ROW][COL] = {4, 12, 5, 6, 7, 0, 9, 2, 13}, max[ROW] = {0};
      	int i, j;
      	for(i = 0; i < ROW; i++){
      		max[i] = a[i][0];
      		for(j = 1; j < COL; j++){
      			if(a[i][j] > max[i]){
      				max[i] = a[i][j];
      			}
      		}
      		printf("第%d行的最大值為%d\n", i + 1, max[i]);
      	}
      	return 0;
      }
      
      • 2.輸入數字n,輸出n行"*",第1行輸出1個,第2行輸出2個,以此類推,用func函數實現
      #include <stdio.h>
      #include <stdlib.h>
      void print_char(int m){
      	int i, j;
      	for(i = 1; i <= m; i++){
      		for(j = 1; j <= i; j++){
      			printf("*");
      		}
      		printf("\n");
      	}
      }
      int main(){
      	int i, j, n;
      	printf("請輸入正整數n的值:");
      	scanf("%d", &n);
      	if(n <= 0){
      		printf("數值異常!\n");
      		exit(-1);
      	}
      	print_char(n);
      	return 0;
      }
      

      3.8軟件第4場 15:00-16:00

      • 1.某商場打折促銷,購物滿300元不足500元享3%折扣,滿500元享5%折扣。輸入消費金額,計算打折后應付款
      #include <stdio.h>
      int main(){
      	float amount, money, discount;
      	printf("請輸入消費金額:");
      	scanf("%f", &amount);
      	if(amount > 0&&amount < 300){
      		discount = 0;
      	}
      	else if(amount >= 300&&amount < 500){
      		discount = 0.03;
      	}
      	else{
      		discount = 0.05;
      	}
      	money = amount * (1 - discount);
      	printf("消費金額為%.2f,付款%.2f", amount, money);
      	return 0;
      }
      
      • 2.判斷字符串中的字母個數,將所有字母都轉換成大寫字母并輸出
      #include <stdio.h>
      #define MAX 100
      int main(){
      	char s[MAX], t;
      	int i = 0, count = 0, upper, lower;
      	printf("請輸入字符串的值:");
      	gets(s);
      	while(s[i] != '\0'){
      		t = s[i];
      		upper = t >= 'A'&&t <= 'Z';
      		lower = t >= 'a'&&t <= 'z';
      		if(upper||lower){
      			count++;
      			if(lower){
      				s[i] -= 32;
      			}
      		}
      		i++;
      	}
      	printf("字母個數為%d, 字符串內容為%s", count, s);
      	return 0;
      }
      
      • 3.在長度為8的一維數組中打印奇數元素的最大值,如果沒有奇數就打印"未找到奇數元素"
      #include <stdio.h>
      #define LEN 8
      int main(){
      	int arr[LEN] = {8, 6, 4, 52, 6, 59, 44, 17};
      	int t, i = 0, count = 0, j,  max;
      	for(i = 0; i < LEN; i++){
      		if(arr[i] % 2){
      			count++;
      			max = arr[i];
      			break;
      		}
      	}
      	if(count == 0){
      		printf("未找到奇數元素");
      	}
      	else{
      		for(j = i + 1; j < LEN; j++){
      			t = arr[j];
      			if(t % 2&&t > max){
      				max = t;
      			}
      		}
      		printf("奇數元素的最大值為%d", max);
      	}
      	return 0;
      }
      
      • 4.自定義函數進行猜數。如果輸入的數過大就打印"猜大了",輸入的數過小就打印"猜小了",否則顯示"猜對了"
      #include <stdio.h>
      void guess(int m, int n){
      	if(m > n){
      		printf("猜大了!");
      	}
      	else if(m < n){
      		printf("猜小了");
      	}
      	else{
      		printf("猜對了");
      	}
      }
      int main(){
      	int sys_num = 7, guess_num;
      	printf("請輸入您猜的數:");
      	scanf("%d", &guess_num);
      	guess(guess_num, sys_num);
      	return 0;
      }
      

      3.8軟件第5場 17:00-18:00

      • 1.判斷a是否為奇數,是的話輸出a的個位數
      #include <stdio.h>
      int main(){
      	int a, b;
      	printf("請輸入a的值:");
      	scanf("%d", &a);
      	if(a%2){
      		b = a % 10;
      		printf("%d是奇數, 個位數為%d", a, b);
      	}
      	else{
      		printf("%d不是奇數", a);
      	}
      	return 0;
      }
      
      • 2.輸入字符c,判斷c是大寫字母、小寫字母、數字字符還是其他字符
      #include <stdio.h>
      int main(){
      	char c;
      	printf("請輸入字符的值:");
      	scanf("%c", &c);
      	if(c >= 'A'&&c <= 'Z'){
      		printf("%c是大寫字母", c);
      	}
      	else if(c >= 'a'&&c <= 'z'){
      		printf("%c是小寫字母", c);
      	}
      	else if(c >= '0'&&c <= '9'){
      		printf("%c是數字字符", c);
      	}
      	else{
      		printf("%c是其他字符", c);
      	}
      	return 0;
      }
      
      • 3.現有分段函數,當x<=0時,y=x+6;當0<x<10時,y=3x+6;當x>=10時,y=3x-6。輸入x的值求對應y的值
      #include <stdio.h>
      int main(){
      	float x, y;
      	printf("請輸入x的值:");
      	scanf("%f", &x);
      	if(x <= 0){
      		y = x + 6;
      	}
      	else if(x < 10){
      		y = 3 * x + 6;
      	}
      	else{
      		y = 3 * x - 6;
      	}
      	printf("當x=%.2f時, y=%.2f", x, y);
      	return 0;
      }
      
      • 4.三名裁判分別對三位運動員打分,統計每個運動員的平均分
      #include <stdio.h>
      #define ROW 3
      #define COL 3
      int main(){
      	float score[ROW][COL], avg_score[ROW];
      	int i, j;
      	printf("請輸入3名運動員的得分情況(3*3):\n");
      	for(i = 0; i < ROW; i++){
      		for(j = 0; j < COL; j++){
      			scanf("%f", &score[i][j]);
      		}
      	}
      	for(i = 0; i < ROW; i++){
      		avg_score[i] = 0;
      		for(j = 0; j < COL; j++){
      			avg_score[i] += score[i][j];
      		}
      		avg_score[i] /= COL;
      		printf("第%d名運動員的平均分為%.2f\n", i + 1, avg_score[i]);
      	}
      	return 0;
      }
      

      3.9網絡第1場 8:40-9:40

      • 2.輸入字符串,分別計算元音字母的個數,不區分大小寫,用switch結構實現
      #include <stdio.h>
      #define MAX 100
      int main(){
      	char s[MAX];
      	int i = 0, count_a = 0, count_e = 0, count_i = 0, count_o = 0, count_u = 0;
      	printf("請輸入一個字符串:");
      	gets(s);
      	while(s[i] != '\0'){
      		switch(s[i]){
      			case 'A':
      			case 'a':
      				count_a++;
      				break;
      			case 'E':
      			case 'e':
      				count_e++;
      				break;
      			case 'I':
      			case 'i':
      				count_i++;
      				break;
      			case 'O':
      			case 'o':
      				count_o++;
      				break;
      			case 'U':
      			case 'u':
      				count_u++;
      				break;
      		}
      		i++;
      	}
      	printf("a e i o u的個數為:%d %d %d %d %d", count_a, count_e, count_i, count_o, count_u);
      	return 0;
      }
      

      3.9網絡第2場 10:50-11:50

      • 1.輸入一串字符,刪除其中重復的字符,保證每個字符只輸出1次
      // "hellokjcm"  只需要將第2個"l"后方的"okjcm"依次往前移動即可
      // "heckjclmnp"  只需要將第2個"c"后方的"lmnp"依次往前移動即可
      // "heckjcclmnp" 需要將第2個"c"后方的"clmnp"依次往前移動后,還要再將最后1個c后方的"clmnp"依次往前移動 
      // "hellokjclmoee"  第1個"l"后方的所有字符往前移動無法滿足需求,因為后面還有一個"l",它后方的"moee"也需要依次往前移動
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	char s[MAX];
      	int i, j, k, length;
      	printf("請輸入字符串的內容:");
      	gets(s);
      	length = strlen(s);
      	for(i = 0; i < length - 1; i++){
      		for(j = i + 1; s[j] != '\0'; j++){
      			k = j;
                  // 只要k指向的字符和i指向的字符一致,那就將k后方的所有字符依次往前移動一個單位
      			if(s[k] == s[i]){
      				while(s[k] != '\0'){
      					s[k] = s[k + 1];
      					k++;
      				}
      				length--;
      			}
                  // 如果重復字符后方所有字符往前移動后,j指向的字符依然和i相同(即有連續兩個相同的字符),如果直接執行for循環中的"j++",那這個重復字符就無法被刪除。所以先執行"j--"后執行for循環中的"j++",保證了j的位置沒變,繼續刪除重復字符
      			if(s[j] == s[i]){
      				j--;
      			}	
      		}
      	}
      	printf("刪除之后的字符串為:");
      	puts(s);
      	return 0;
      }
      
      #include <stdio.h>
      #define MAX 1000
      
      int main(int argc, const char * argv[]) {
          // insert code here...
          char ch1[MAX], ch2[MAX], c;  // ch1存儲輸入的字符串  ch2存儲刪除重復字符后的字符串  c為ch1中字符的值
          int i, j = 0, index, cnt[256] = {0};
          printf("請輸入字符串ch1:");
          gets(ch1);
          for (i = 0; ch1[i] != '\0'; i++) {
              c = ch1[i];
              index = (int)c;  // 將c的ASCII碼值作為下標
              if (cnt[index] == 0) {
                  cnt[index]++;
                  ch2[j++] = c;
              }
          }
          ch2[j] = '\0';
          printf("去除重復字符串后的值為:");
          puts(ch2);
          return 0;
      }
      
      
      • 2.收水費的規則如下:第1個月的用水量不超過10立方米的話,每立方米收費5元,超過的部分每立方米收費6元。如果第1個月用水量高于15立方米,則第2個月每立方米收費6元,否則按第1個月的收費方式計算。輸入每個月的用水數量,輸出水費
      #include <stdio.h>
      int main(){
      	float water[3] = {0, 16, 20}, money_1 = 0, money_2 = 0, money;
      	if(water[1] <= 10){
      		money_1 += water[1] * 5;
      	}
      	else{ // water[1] > 10
      		money_1 += 10 * 5 + (water[1] - 10) * 6;
      		if(water[1] <= 15){ // 10<water[1]<=15
      			if(water[2] <= 10){
      				money_2 += water[2] * 5; 
      			}
      			else{
      				money_2 += 10 * 5 +(water[2] - 10) * 6;
      			}
      		}
      		else{ // water[1] > 15
      			money_2 += water[2] * 6;
      		}
      	}
      	money = money_1 + money_2;
      	printf("水費為%.2f元", money); 
      	return 0;
      } 
      

      3.9網絡第3場 14:00-15:00

      • 1.輸入一個三位數num,如果能找到多組連續的整數,這些整數相加的和為num,請輸出項數最多的一組連續整數。如輸入102,3+4+5+6+7+8+9+10+11+12+13+14=102,24+25+26+27=102, 33+34+35=102。第一種情況項數更多,所以輸出3 4 5 6 7 8 9 10 11 12 13 14
      #include <stdio.h>
      int main(){
      	int num, i, j, k, sum, mid;
      	int flag = 0;
      	printf("請輸入一個整數:");
      	scanf("%d", &num);
      	mid = num / 2;
      	for(i = 1; i <= mid; i ++){
      		sum = i;
      		for(j = i + 1; j <= mid + 1; j++){
      			sum += j;
      			if(sum == num){
      				flag = 1;
      				for(k = i; k <= j; k++){
      					printf("%d ", k);
      				}
      //				printf("\n");
      				break;
      			}	
      		}
      		if(flag){
      			return 0;
      		}
      	}
      	printf("無法分解");
      	return 0;
      }
      
      • 2.當溫度高于38攝氏度時為高溫天氣。請輸入多天的氣溫,直到輸入0攝氏度為止,輸出高溫占比以及最高溫度
      #include <stdio.h>
      int main(){
      	float temperature, rate;
          // count表示高溫的個數,total表示溫度總的個數
      	int count = 0, total = 0;
      	printf("請輸入溫度,直到輸入0攝氏度為主:");
      	scanf("%f", &temperature);
      	while(temperature != 0){
      		if(temperature > 38){
      			count++;
      		}
      		scanf("%f", &temperature);
      		total++;
      	}
      	total++;  // 將最后輸入的0攝氏度加上
      	rate = (count*1.0/total)*100;
      	printf("總共輸入了%d個溫度,其中高溫占了%d個,占比為%.2f%%", total, count, rate);
      	return 0;
      }
      

      3.9網絡第4場 16:10-17:10

      • 1.輸入一串數字字符,若含其他字符則提示輸入錯誤并退出程序,否則輸出數字字符的個數
      #include <stdio.h>
      #include <stdlib.h>
      #define MAX 100
      int main(){
      	char ch[MAX];
      	int i = 0, count = 0;
      	printf("請輸入一串數字字符:\n");
      	gets(ch);
      	while(ch[i] != '\0'){
      		if(ch[i] < '0'||ch[i] > '9'){
      			printf("輸入錯誤,強制退出...");
      			exit(-1);
      		}
      		else{
      			count++;
      		}
      		i++;
      	}
      	printf("數字字符共%d個", count);
      	return 0;
      }
      
      • 2.輸入每天運動的步數(輸入-1結束),輸出運動的天數和平均步數。若每天不低于8000步表示達標,請計算達標率是多少
      #include <stdio.h>
      int main(){
      	int num_step, day = 0, day_dst = 0;
      	float rate = 0, avg_step = 0;
      	printf("請輸入當天運動的步數(輸入-1結束):");	
      	scanf("%d", &num_step);
      	while(num_step != -1){
      		if(num_step < 0){
      			printf("數據非法,請重新輸入運動步數:");
      			scanf("%d", &num_step);
      			continue;
      		}
      		else{
      			avg_step += num_step;
      			day++;
      			if(num_step >= 8000){
      				day_dst++;
      			}
      		}
      		printf("繼續輸入運動的步數:");
      		scanf("%d", &num_step);
      	}
      	// 如果剛開始直接輸入-1,day=0不能作為除數
      	if(day==0){
      		avg_step = 0;
      		rate = 0;
      	}
      	else{
      		avg_step /= day;
      		rate = day_dst * 1.0 / day * 100; 
      	}
      	printf("day=%d, avg_step=%.2f, rate=%.2f%%", day, avg_step, rate);
      	printf("\n結束程序!");
      	return 0;
      }
      

      3.10網絡第1場 8:40-9:40

      • 1.輸入字符串,輸出其中的數字字符。例如輸入25*6*6#,輸出"2566"
      #include <stdio.h>
      #define MAX 100
      int main(){
      	char ch[MAX];
      	int i = 0;
      	printf("請輸入一串字符:");
      	gets(ch);
      	while(ch[i] != '\0'){
      		if(ch[i] >= '0'&&ch[i] <= '9'){
      			putchar(ch[i]);
      		}
      		i++;
      	}
      	return 0;
      }
      
      • 2.輸入若干整數,輸出其中奇數各位數的和,偶數各位數的乘積,直到輸入0結束
      nt main(){
      	int num, sum, multy, b, t;
      	printf("請輸入若干整數(輸入0結束):");
      	scanf("%d", &num);
      	while(num != 0){
      		t = num;
      		sum = 0, multy = 1;
      		while(t){
      			b = t % 10;
      			if(b % 2){
      				sum += b;
      			}
      			else{
      				multy *= b;
      			}
      			t /= 10;
      		}
      		printf("%d各奇數位的和為%d, 各偶數位的積為%d\n請繼續輸入整數:", num, sum, multy);
      		scanf("%d", &num);
      	}
      	printf("end...\n");
      	return 0;
      }
      

      3.10網絡第2場 10:50-11:50

      • 1.輸入一個3行4列的數組,求平均值
      #include <stdio.h>
      #define ROW 3
      #define COL 4
      int main(){
      	int a[ROW][COL], i, j, sum = 0;
      	float avg;
      	printf("請輸入3行4列數組的值:\n");
      	for(i = 0; i < ROW; i++){
      		for(j = 0; j < COL; j++){
      			scanf("%d", &a[i][j]);
      			sum += a[i][j];
      		}
      	}
      	avg = sum * 1.0 / (ROW * COL);
      	printf("avg=%.2f", avg);
      	return 0;
      }
      
      • 2.輸入5個正整數,判斷是否是回文數并輸出
      #include <stdio.h>
      #define MAX 100
      int main(){
              // i用作輸入5個數的循環變量, j用作數組a的下標, 數組a用作存儲num每一位的數, t用于暫存num的值
      	int num, i, j, k, t, a[MAX] = {0};
      	printf("請輸入5個正整數:");
      	for(i = 0; i < 5; i++){
      		scanf("%d", &num);
      		j = 0;
      		t = num;
      		while(t){
      			a[j] = t % 10;
      			j++;
      			t /= 10;
      		}
      		for(k = 0; k < j / 2; k++){  // k用作對稱比較數據的下標
      			if(a[k] != a[j - k - 1]){
      				break;
      			}
      		}
      		if(k == j / 2){  // for循環正常退出時執行
      			printf("%d是回文數\n", num);
      		}
      	}	
      	return 0;
      }
      

      3.10網絡第3場 14:00-15:00

      • 1.輸入字符串,刪除其中的空格字符并輸出新的字符串。如"AB C",輸出"ABC"
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	char s[MAX];
      	int i = 0, j, length;
      	printf("請輸入字符串:");
      	gets(s);
      	length = strlen(s);
      	while(s[i] != '\0'){  // i指向索引為length-1的位置'\0'時循環退出
      		if(s[i] == ' '){
      			for(j = i + 1; j < length; j++){  // 該循環用于將空格字符后的所有字符往前移動, 但索引為length的'\0'沒有往前移動
      				s[j - 1] = s[j];
      			}
      			length--;
      			if(s[i] == ' '){  // 如果有2個或2個以上連續的空格存在, 此時即使第1個空格之后的所有字符往前移動了,但i指向的位置依然是空格,所以在執行i自增之前先做一次自減的操作, 以保證后續空格也被消除
      				i--;
      			}
      		}
      		i++;
      	}
      	s[length] = '\0'; // 將length位置處的字符賦值為'\0'
      	puts(s);
      	return 0;
      }
      
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	char s[MAX];
      	int i = 0, j, length;
      	printf("請輸入字符串:");
      	gets(s);
      	length = strlen(s);
      	while(s[i] != '\0'){  // i指向索引為length-1的位置'\0'時循環退出
      		if(s[i] == ' '){
      			for(j = i + 1; j <= length; j++){  // 該循環用于將空格字符后的所有字符往前移動, 含索引為length的'\0'
      				s[j - 1] = s[j];
      			}
      			length--;
      			if(s[i] == ' '){  // 如果有2個或2個以上連續的空格存在, 此時即使第1個空格之后的所有字符往前移動了,但i指向的位置依然是空格,所以在執行i自增之前先做一次自減的操作, 以保證后續空格也被消除
      				i--;
      			}
      		}
      		i++;
      	}
      	puts(s);
      	return 0;
      }
      
      • 2.輸入7個帶小數位的成績,去掉最大值和最小值,求出剩余5個數的平均值
      #include <stdio.h>
      int main(){
      	float score[7], sum = 0, avg;
      	int i, max = 0, min = 0;
      	printf("請輸入7個帶小數位的成績:");
      	for(i = 0; i < 7; i++){
      		scanf("%f", &score[i]);
      	}
      	max = min = 0;
      	for(i = 1; i < 7; i++){
      		if(score[i] > score[max]){
      			max = i;
      		}
      		if(score[i] < score[min]){
      			min = i;
      		}
      	}
      	for(i = 0; i < 7; i++){
      		if(max != i&&min != i){
      			sum += score[i];
      		}
      	}
      	avg = sum / 5;
      	printf("avg=%.2f", avg);	
      	return 0;
      }
      

      3.11網絡第1場 8:40-9:40

      • 1.加權平均數相關點
      • 2.輸入一個整數n,輸入一組除數,輸出可以整除的數,除數輸入0結束
      #include <stdio.h>
      #define MAX 100
      int main(){
      	int n, div, a[MAX],  i = 0, j;
      	printf("請輸入n的值:");
      	scanf("%d", &n);
      	printf("接下來輸入一組除數,直到0停止:");
      	scanf("%d", &div);
      	while(div != 0){
      		if(n % div == 0){
      			a[i++] = div;
      		}
      		scanf("%d", &div);
      	}
      	if(i == 0){
      		printf("不存在可整除的除數!");
      		return -1;
      	}
      	printf("能被整除的除數有:");
      	for(j = 0; j < i; j++){
      		printf("%d ", a[j]);
      	}
      	return 0;
      } 
      

      3.11網絡第2場 10:50-11:50

      • 1.買票問題:成人票800元,兒童票300元。現有團購優惠(兒童不計入團購人數)三人以下不享受優惠;三人到十五人(含3、15),成人享受每人80元優惠;十五人以上,若包含兒童,免除一名兒童收費,若沒有兒童,每位成人再享受二十元優惠。輸入總人數和兒童數,輸出支付價格。
      #include <stdio.h>
      int main(){
      	int adult, child, total, money; 
      	printf("請分別輸入成人和兒童的數量:");
      	scanf("%d %d", &adult, &child);
      	while(1){
      		if(adult < 0||child < 0){
      			printf("輸入數據異常!請重新輸入...\n");
      			scanf("%d %d", &adult, &child);
      			continue;
      		}
      		total = adult + child;
      		if(total >= 0&&total < 3){
      			money = adult * 800 + child * 300;
      		}
      		else if(total >= 3&&total <= 15){
      			money = adult * 720 + child * 300;
      		}
      		else if(total > 15){
      			if(child >= 1){
      				money = adult * 800 + (child - 1) * 300;
      			}
      			else{
      				money = adult * 780;
      			}
      		}
      		break;
      	}
      	printf("money=%d", money);
      	return 0;
      }
      
      • 2.輸入A和B兩個數組,取出A中有但B中沒有的,放到C數組里,輸出C
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	char a[MAX], b[MAX], c[MAX];
      	int length_a, length_b, i, j, k = 0;
      	printf("請輸入字符串a的值:");
      	gets(a);
      	printf("請輸入字符串b的值:");
      	gets(b);
      	length_a = strlen(a);
      	length_b = strlen(b);
      	for(i = 0; i < length_a; i++){
      		for(j = 0; j < length_b; j++){
      			if(a[i] == b[j]){
      				break;
      			}
      		}
      		if(j == length_b){
      			c[k++] = a[i];
      		}
      	}
      	c[k] = '\0';
      	printf("數組a中有但數組b中沒有的字符為:%s", c);
      	return 0;
      }
      

      3.11網絡第3場 14:00-15:00

      • 1.輸入一個長度大于3的字符串,在第3個字符后邊加一個"#",然后輸出
      #include <stdio.h>
      #include <string.h> 
      #define MAX 1000
      int main(){
      	char s[MAX];
      	int i, length;
      	printf("請輸入長度大于3的字符串:");
      	gets(s);
      	while(1){
      		length = strlen(s);
      		if(length <= 3){
      			printf("長度不合法, 請重新輸入!\n");
      			gets(s);
      			continue;
      		}
      		for(i = length; i >= 3; i--){
      			s[i + 1] = s[i];
      		}
      		s[i + 1] = '#';
      		break;
      	}
      	puts(s);
      	return 0;
      }
      
      • 2.輸入一個整數n,輸出個位、十位和百位加和等于n的三位數。例如輸入2,輸出101、110、200,共3個
      #include <stdio.h>
      int main(){
      	int n, i;
      	printf("請輸入整數n的值:");
      	scanf("%d", &n);
      	for(i = 100; i <= 999; i++){
      		if(i%10 + i/10%10 + i/100 == n){
      			printf("%d ", i);
      		}
      	}
      	return 0;
      }
      

      3.11網絡第4場 16:10-17:10

      • 1.現有小明6門課的成績,求他的平均成績。若不低于60分為及格,計算小明及格和不及格的門數
      #include <stdio.h>
      #define LEN 6
      int main(){
      	int i, a[LEN], count = 0;
      	float avg = 0;
      	printf("請輸入6門課成績:");
      	for(i = 0; i < LEN; i++){
      		scanf("%d", a + i);
      		avg += a[i];
      		if(a[i] >= 60){
      			count++;
      		}
      	}
      	avg /= 6;
      	printf("平均分:%.2f, 及格:%d門, 不及格:%d門", avg, count, 6-count);
      	return 0;
      }
      
      • 2.輸入第一個正整數,然后輸入一個運算符(只能加減乘除任意一個),再輸入一個正整數,求出它們的運算結果
      #include <stdio.h>
      int main(){
      	int a, b;
      	char opr;
      	float ret;
      	while(1){
      		printf("依次輸入正整數 運算符 正整數:");
      		scanf("%d %c %d", &a, &opr, &b);
      		if(a <= 0||b<= 0||(opr != '+'&&opr != '-'&&opr != '*'&&opr != '/')){
      			printf("輸入數據非法,請重新輸入...\n");
      			continue;
      		}
      		if(opr == '+'){
      			ret = a + b;
      		}
      		else if(opr == '-'){
      			ret = a - b;
      		}
      		else if(opr == '*'){
      			ret = a * b;
      		}
      		else if(opr == '/'){
      			ret = a /  b;
      		}
      		break;
      	}
      	printf("%d%c%d=%.2f", a, opr, b, ret);
      	return 0;
      }
      
      

      3.12網絡第1場 8:40-9:40

      • 1.輸入一個正整數m,找到能整除m且十位數是5的所有三位數并放到一個數組中
      #include <stdio.h>
      #define MAX 900
      int main(){
      	int m, i, j, k = 0, a[MAX] = {0};
      	printf("請輸入m的值:");
      	scanf("%d", &m);
      	for(i = 100; i <= 999; i++){
      		j = i / 10 % 10;
      		if(i % m == 0&&j == 5){
      			a[k++] = i;
      		}
      	}
      	for(i = 0; i < k; i++){
      		printf("%d ", a[i]);
      	}
      	return 0;
      }
      
      • 2.一個商場中有12個柜子,3行4列排列。柜子的狀態為0表示空,1表示使用,-1表示故障。請輸出柜子的使用率和故障率
      #include <stdio.h>
      #define ROW 3
      #define COL 4
      int main(){
      	int i, j, s[ROW][COL] = {1, 0, 0, 1, 1, 1, -1, -1, 0, 0, -1, 1};
      	int count_use = 0, count_error = 0;
      	float pct_use, pct_error;
      	for(i = 0; i < ROW; i++){
      		for(j = 0; j < COL; j++){
      			if(s[i][j] == 1){
      				count_use++;
      			}
      			if(s[i][j] == -1){
      				count_error++;
      			}
      		}
      	}
      	pct_use = count_use*1.0/(ROW*COL)*100;
      	pct_error = count_error*1.0/(ROW*COL)*100;
      	printf("柜子的使用率為%.2f%%, 故障率為%.2f%%", pct_use, pct_error);
      	return 0;
      }
      

      3.12網絡第2場 10:50-11:50

      • 1.驗證密碼:給定一個密碼,用戶輸入字符串與密碼進行比較,完全一樣則輸出密碼正確,否則打印密碼錯誤。
      #include <stdio.h>
      #include <string.h>
      #define MAX 100
      int main(){
      	char pwd[MAX] = "correct@!Pwd", user_pwd[MAX];
      	int i = 0, len_userpwd;
      	printf("請輸入用戶密碼:");
      	gets(user_pwd);
      	len_userpwd = strlen(user_pwd);
      	while(user_pwd[i] != '\0'){
      		if(user_pwd[i] == pwd[i]){
      			i++;
      		}
      		else{
      			break;
      		}
      	}
      	if(i < len_userpwd){
      		printf("密碼錯誤!");
      	}
      	else{
      		printf("密碼正確");
      	}
      	return 0;
      }
      

      3.12網絡第3場 14:00-15:00

      • 1.輸入一組正整數,直到輸入0停止。統計輸入數據的個數,并將這組數逆序輸出
      #include <stdio.h>
      #define MAX 1000
      int main(){
      	int num, a[MAX], count = 0, i = 0;
      	printf("請輸入若干正整數:");
      	scanf("%d", &num);
      	while(num != 0){
      		if(num > 0){
      			a[i++] = num;
      			count++;
      		}
      		else{
      			printf("請輸入正整數!\n");
      		}
      		scanf("%d", &num);
      	}
      	printf("共輸入了%d個數\n", count);
      	for(i = count - 1; i >= 0; i--){
      		printf("%d ", a[i]);
      	}
      	return 0;
      } 
      
      • 2.輸入一串長度大于1的字符串,長度是奇數就把中間的字符改成*,長度為偶數就在中間插入一個*
      #include <stdio.h>
      #include <string.h>
      #define MAX 1000
      int main(){
      	char s[MAX];
      	int i, length;
      	printf("請輸入字符串(長度大于1):");
      	gets(s);
      	while(strlen(s) <= 1){
      		printf("長度不合格, 請重新輸入!\n");
      		gets(s);
      	}
      	length = strlen(s);
      	if(length%2==0){
      		for(i = length; i >= length/2; i--){
      			s[i+1] = s[i];
      		}
      		s[i+1] = '*';
      		length++;
      	}
      	else{
      		s[length/2] = '*';
      	}
      	printf("修改后的字符串值為:");
      	puts(s);
      	return 0;
      }
      // hellworld length = 9 mid = 4
      // helloworldee length = 12 mid = 6
      
      posted @ 2025-03-09 09:26  pycoder_666  閱讀(407)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 99精品热在线在线观看视| 东京热人妻中文无码| 国产成人午夜福利在线播放| 999精品全免费观看视频| 人妻少妇看a偷人无码| 国产爆乳无码视频在线观看3| 国产在线拍揄自揄视频网试看 | 亚洲国产片一区二区三区| 国产一区二区三区十八禁| 成人av午夜在线观看| AV最新高清无码专区| 国产精品99久久免费| 国产99青青成人A在线| 乱色熟女综合一区二区三区| 狼人大伊人久久一区二区| 天天做日日做天天添天天欢公交车| 九九热在线精品免费视频| 日韩精品久久久肉伦网站| 久久永久视频| 国产高跟黑色丝袜在线| 青青草成人免费自拍视频| 国产成人一区二区三区| 九九热精品免费在线视频| 婷婷五月综合丁香在线| 深夜福利资源在线观看| 天堂亚洲免费视频| 国产精品 自在自线| 最新国产AV最新国产在钱| 狠狠色丁香婷婷亚洲综合| 亚洲中文字幕在线无码一区二区| 永久天堂网 av手机版| 精品自拍偷拍一区二区三区| 99精品国产中文字幕| 成人免费亚洲av在线| 成av免费大片黄在线观看| 国产农村妇女毛片精品久久| 欧美日产国产精品| 最新亚洲人成网站在线观看| 成人av天堂男人资源站| 新沂市| 国产一卡2卡三卡4卡免费网站|