1.
#include <stdio.h> int main (void) { int space = 0, line = 1, other = 0; char a; printf ("input a string finished by \"#\": "); while ((a = getchar ()) != '#') if (a == ' ') space++; else if (a == '\n') line++; else other++; printf ("space: %d\nline: %d\nother: %d", space, line, other); return 0; }
2.
#include <stdio.h> int main (void) { int num = 0; char a; while ((a = getchar ()) != '#') { printf ("%d ", a); num++; if (num % 8 == 0) printf ("\n"); } return 0; }
3.
#include <stdio.h> int main (void) { int num; int odd = 0, even = 0; int odd_sum = 0, even_sum = 0; while (1) { scanf ("%d", &num); if (num == 0) break; else if (num % 2 == 0) { even++; even_sum += num; } else if (num % 2 == 1) { odd++; odd_sum += num; } } printf ("odd: %d average: %f\n", odd, (float)odd_sum / odd); printf ("even: %d average: %f", even, (float)even_sum / even); return 0; }
4.
#include <stdio.h> int main (void) { char a; int num1 = 0, num2 = 0; while ((a = getchar ()) != '#') { if (a == '.') { putchar ('!'); num1++; } else if (a == '!') { putchar ('!'); putchar ('!'); num2++; } else putchar (a); } printf ("'.' to '!': %d\n'!' to '!!': %d", num1, num2); return 0; }
5.
#include <stdio.h> int main (void) { char ch; while ((ch = getchar ()) != '#') { switch (ch) { case '.': putchar ('!'); continue; case '!': putchar ('!'); putchar ('!'); continue; default: putchar (ch); } } return 0; }
6.
#include <stdio.h> int main (void) { char ch1, ch2; int num = 0; while ((ch1 = getchar ()) != '#') { if ((ch1 == 'i') && (ch2 == 'e')) num++; ch2 = ch1; } printf ("%d", num); return 0; }
7.
#include <stdio.h> #define base 1000 #define lv1 300 * 0.15 #define lv2 150 * 0.2 int main (void) { int time; float money1, money2; printf ("Enter your work time: "); scanf ("%d", &time); if (time <= 40) { money1 = base * time; money2 = money1 - lv1 - lv2 - (money1 - 300 - 150) * 0.25; } else { money1 = base * 40 + (time - 40) * 1.5 * base; money2 = money1 - lv1 - lv2 - (money1 - 300 - 150) * 0.25; } printf ("%f\n%f\n%f", money1, money1 - money2, money2); return 0; }
8.
#include <stdio.h> #define base 1000 #define lv1 300 * 0.15 #define lv2 150 * 0.2 int main (void) { int time; int choice; int i; float wages; float money1, money2; for (i = 0; i < 65; i++) printf ("*"); printf ("\nEnter the number corresponding to the desired pay rate or action:\n"); printf ("1) $8.75/hr 2) $9.33/hr\n"); printf ("3) $10.00/hr 4) $11.20/hr\n"); printf ("5) quit\n"); for (i = 0; i < 65; i++) printf ("*"); printf ("\n"); scanf ("%d", &choice); while (choice != 5) { switch (choice) { case 1: wages = 8.75; break; case 2: wages = 9.33; break; case 3: wages = 10.00; break; case 4: wages = 11.20; break; } printf ("Enter your work time: "); scanf ("%d", &time); if (time <= 40) money1 = time * wages; else money1 = 40 * wages + (time - 40) * 1.5 * wages; if (money1 <= 300) money2 = money1 * (1 - 0.15); else if (money1 <= 450) money2 = money1 - lv1 - (money1 - 300) * 0.2; else money2 = money1 - lv1 - lv2 - (money1 - 450) * 0.25; printf ("%f\n%f\n%f\n", money1, money1 - money2, money2); printf ("Enter the number(5 to quit): "); scanf ("%d", &choice); } return 0; }
9.
#include <stdio.h> int su (int num); int main (void) { int num; int i; printf ("Enter a number: "); scanf ("%d", &num); while (num > 0) { for (i = 2; i < num; i++) if(su (i)) printf ("%d\n", i); printf ("Enter a number(< 0 to quit): "); scanf ("%d", &num); } return 0; } int su (int num) { int i; for (i = 2; i * i <= num; i++) if (num % i == 0) return 0; return 1; }
10.
#include <stdio.h> void mo (int ch, float mon); void no (float mon); int main (void) { int choice; float money1; for (int i = 0; i < 60; i++) printf ("*"); printf ("\nEnter your choice:\n"); printf ("1) single 2) householder\n"); printf ("3) married share 4) married divorce\n"); for (int i = 0; i < 60; i++) printf ("*"); printf ("\n"); scanf ("%d", &choice); while ((choice >= 1) && (choice <= 4)) { printf ("Enter your money:\n"); scanf ("%f", &money1); mo (choice, money1); printf ("Enter your choice:\n"); scanf ("%d", &choice); } } void mo (int ch, float mon) { float base; switch (ch) { case 1: base = 17850; break; case 2: base = 23900; break; case 3: base = 29750; break; case 4: base = 14875; break; } if (mon <= base) printf ("%f\n", mon * 0.15); else printf ("%f\n", base * 0.15 + (mon - base) * 0.28); return; }
11.
#include<stdio.h> #define huluobo 1.09 #define yangji 2.05 #define tiancai 1.15 #define youhuizhongliang 100 #define youhui 0.05 #define lv1 6.5 #define lv2 14 #define lv3 0.5 int main (void) { char ch;//选项 int zhongliang = 0.0;//重量 int zongzhongliang = 0.0;//总重量 float shucaifeiyong = 0.0;//蔬菜费用 int zongfeiyong = 0.0;//总费用 float zhekou = 0.0;//折扣 float yunfei = 0.0;//运费和包装费 int zonge = 0.0;//总额 int danjia = 0.0;//单价 printf("Please enter the letter of the vegetable: \n"); printf("a. Artichoke 2.05\n" "b. Beet 1.15\n" "c. Carrot 1.09\n" "q. quit\n"); scanf("%c", &ch); while(ch != 1) { zhongliang = 0; switch(ch) { case 'a': danjia = yangji; break; case 'b': danjia = tiancai; break; case 'c': huluobo; break; case 'q': break; } if(ch =='q') break; printf("Please enter the weight of vegetable: \n"); scanf("%d", &zhongliang); zongzhongliang += zhongliang; shucaifeiyong += zhongliang * danjia; printf("Please enter the letter of the vegetable: \n"); scanf("%c", &ch); ch = getchar(); } if(shucaifeiyong > 100) { shucaifeiyong *= 0.95; zhekou = shucaifeiyong * 0.05; } if(zongzhongliang <= 5) yunfei = 6.5; else if(zongzhongliang <= 20) yunfei = 14; else yunfei = 14 + (zongzhongliang - 20) * 0.5; printf("weight: %d\ncost: %f\ndiscount: %f\nfreight: %f\n", zongzhongliang, shucaifeiyong, zhekou, yunfei); }