1. 請撰寫一程式,製作販賣機找零系統,讓使用者輸入一個正整數,代表需要找零的金額,請依照面額大至小輸出找零結果,不同面額請用半形空格隔開。
2. 販賣機找零規則:只有50元、10元、5元及1元四種面額的硬幣,請使用最少的硬幣數目找零。
輸入說明 一個正整數
輸出說明 找零結果
範例輸入1 32
範例輸出1 3*$10 2*$1
範例輸入2 78
範例輸出2 1*$50 2*$10 1*$5 3*$1
#include <stdio.h>
#include <string.h>
#define N 7
int main(){
int x;
scanf("%d", &x);
int y[] = {x/50, (x%50)/10, (x%10)/5, x%5};
char s1[50]={'\0'}, s2[N]={'\0'}, s3[N]={'\0'}, s4[N]={'\0'};
if (y[0]) sprintf(s1, "%d*$50 ", y[0]);
if (y[1]) sprintf(s2, "%d*$10 ", y[1]);
if (y[2]) sprintf(s3, "%d*$5 ", y[2]);
if (y[3]) sprintf(s4, "%d*$1 ", y[3]);
strcat(s1,s2);
strcat(s1,s3);
strcat(s1,s4);
s1[strlen(s1)-1]='\0';
printf("%s", s1);
}
請撰寫一程式,讓使用者先輸入三組字串及其相對應的庫存量做為比對標準,接著再輸入五個字串,若這五個字串與任一比對標準相同,則加上庫存量,最後輸出庫存量總合。
提示1:字串長度皆不超過20字元且庫存量皆為整數。
提示2:大小寫視為不同的字串。
輸入說明 三組字串及其相對應的庫存量、五個字串
輸出說明 庫存量總和
範例輸入
Apple 100
Asus 90
Acer 80
Msi
Apple
Lenovo
Asus
Dell
範例輸出 190
#include <stdio.h>
#include <string.h>
#define N 3
int main(){
int num[N], sum=0;
char x[N][20], y[5][20];
for (int i=0; i<N; ++i)
scanf("%19s%d", x[i], &num[i]);
for (int i=0; i<5; ++i){
scanf("%19s", y[i]);
for (int j=0; j<N; ++j)
if (!strcmp(y[i], x[j]) )
sum+=num[j];
}
printf("%d", sum);
}
請撰寫一程式,製作矩形面積計算機,讓使用者輸入一個正整數n,代表有n個矩形,接著依序輸入n個矩形的長、寬(皆為正整數),計算各個矩形的面積並由小而大輸出。
輸入說明 一個正整數n及n個矩形的長、寬(皆為正整數)
輸出說明 由小而大的矩形面積計算結果
範例輸入1
3
8 3
9 4
5 5
範例輸出1
8x3=24
5x5=25
9x4=36
範例輸入2
5
5 5
10 5
5 20
7 3
4 6
範例輸出2
7x3=21
4x6=24
5x5=25
10x5=50
5x20=100
#include <stdio.h>
void sort(int* x, int size, int* y){
int max;
for (int k=0; k<size-1; ++k){
for (int i=0; i<size-1; ++i){
if (x[i]>x[i+1]){
max = x[i]; x[i] = x[i+1]; x[i+1] = max;
max = y[i]; y[i] = y[i+1]; y[i+1] = max;
}
}
}
}
int main(){
int n, a;
scanf("%d", &n);
int m[n][2], Area[n], index[n];
for (int i=0; i<n; ++i){
scanf("%d%d", &m[i][0], &m[i][1] );
Area[i] = m[i][0]*m[i][1];
index[i] = i;
}
sort(Area, n, index);
for (int i=0; i<n; ++i){
a = index[i];
printf("%dx%d=%d\n", m[a][0], m[a][1], Area[i] );
}
}
//暫存(備用)
void swap(int* x, int* y){
int temp = *x;
*x = *y;
*y =temp;
}
請撰寫一程式,讓使用者輸入一個正整數n以及n個圓心座標(x,y)和不重複的半徑,計算並輸出圓面積總和至小數點後第二位,以及最大圓的x、y座標與半徑。
提示:圓周率請使用3.14159進行運算。
輸入說明 一個正整數n以及n個圓心座標(x,y)和不重複的半徑
輸出說明 圓面積總和以及最大圓的x、y座標與半徑
範例輸入
3
0 0 4
8 5 7
7 9 6
範例輸出
Sum = 317.30
x: 8, y: 5
radius: 7
#include <stdio.h>
#define PI 3.14159
void sort(int* x, int size, int* y){
int max;
for (int k=0; k<size-1; ++k){
for (int i=0; i<size-1; ++i){
if (x[i]>x[i+1]){
max = x[i]; x[i] = x[i+1]; x[i+1] = max;
max = y[i]; y[i] = y[i+1]; y[i+1] = max;
}
}
}
}
int main(){
int n, a;
scanf("%d", &n);
int m[n][2], radius[n], index[n];
float sum=0;
for (int i=0; i<n; ++i){
scanf("%d%d%d", &m[i][0], &m[i][1], &radius[i] );
index[i] = i;
sum += PI * radius[i] * radius[i];
}
sort(radius, n, index);
a = index[n-1];
printf("Sum = %.2f\n", sum);
printf("x: %d, y: %d\n", m[a][0], m[a][1]);
printf("radius: %d", radius[n-1]);
}
請撰寫一程式,讓使用者輸入三個正整數,分別為西元年、月、日,請計算此日期為當年的第幾天,需注意閏年;若輸入的日期有誤,請輸出「error」。 閏年: 西元年份除以4不可整除,為平年。 西元年份除以4可整除,且除以100不可整除,為閏年。 西元年份除以100可整除,且除以400不可整除,為平年。 西元年份除以400可整除,為閏年。 輸入說明 三個正整數,分別為西元年、月、日 輸出說明 此日期為當年的第幾天
Jul 14, 2023https://web.ntnu.edu.tw/~algo/Prime.html #include <stdio.h> //4 #include <math.h> #define N 100 //20000000 int sieve[N]={1,1}; // 1代表不是質數, 0代表是質數 void main() //eratosthenes { // 只需要刪掉sqrt(N)以下的質數的倍數。 for (int i=2; i<=sqrt(N); i++) if (!sieve[i])
Jun 20, 2023// Fig. 10.3: fig10_03.c // Card shuffling and dealing program using structures #include <stdio.h> #include <stdlib.h> #include <time.h> #define CARDS 52 #define FACES 13 struct card {const char *face,*suit;};
Jun 20, 2023#TQC-Python 1 #8月2日 https://www.facebook.com/buddin5678/posts/pfbid025PJyB7QKfv7nSyK7ZARHmBFYJ2FwJiR2kx5e13ydgmBPmTXt4z18hojs55vk9poTl #PYA102.py 格式化輸出 #23.12 395.3 100.4617 564.329 ''' a = float(input()) b = float(input()) c = float(input()) d = float(input())
Jun 8, 2023or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up