函数题
6-1 简单输出整数
void PrintN(int N)
{
int a = 1;
for (a = 1; a <= N; a++)
printf("%d\n", a);
}
编程题
7-1 厘米换算英尺英寸
#include <stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
scanf("%d", &a);
b = a / 30.48;
c = (a / 2.54) - b * 12;
printf("%d %d",b,c);
return 0;
}
7-2 然后是几点
#include<stdio.h>
int main()
{
int a = 0, hour = 0, minute = 0, time = 0;
scanf("%d %d", &a, &time);
hour = a / 100;
minute = a % 100;
hour += (minute + time) / 60;
minute = (minute + time) % 60;
if (minute < 0)
{
hour--;
minute += 60;
}
printf("%d%02d", hour, minute);
return 0;
}
7-3 逆序的三位数
#include<stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
printf("%d",a%10*100+a/10%10*10+a/100);
return 0;
}
7-4 BCD解密
#include <stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
scanf("%d", &a);
b = a / 16;
c = a % 16;
printf("%d", b * 10 + c);
return 0;
}
7-5 表格输出
#include<stdio.h>
int main()
{
printf("------------------------------------\n");
printf("Province Area(km2) Pop.(10K)\n");
printf("------------------------------------\n");
printf("Anhui 139600.00 6461.00\n");
printf("Beijing 16410.54 1180.70\n");
printf("Chongqing 82400.00 3144.23\n");
printf("Shanghai 6340.50 1360.26\n");
printf("Zhejiang 101800.00 4894.00\n");
printf("------------------------------------");
return 0;
}
7-6 混合类型数据格式化输入
#include<stdio.h>
int main()
{
float a = 0.0; int b = 0; char c = 0; float d = 0.0;
scanf("%f %d %c %f", &a, &b, &c, &d);
printf("%c %d %.2f %.2f", c, b, a, d);
return 0;
}
7-7 12-24小时制
#include<stdio.h>
int main()
{
int a = 0, b = 0;
scanf("%d:%d", &a, &b);
if (a < 12)
printf("%d:%d AM", a, b);
else
{
if (a > 12)
printf("%d:%d PM", a - 12, b);
else
printf("%d:%d PM", a, b);
}
return 0;
}
7-8 超速判断
#include<stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a <= 60)
printf("Speed: %d - OK", a);
else
printf("Speed: %d - Speeding", a);
return 0;
}
7-9 用天平找小球
#include<stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
scanf("%d %d %d",&a,&b,&c);
if (a == b)
printf("C");
else
{
if (a == c)
printf("B");
else
printf("A");
}
return 0;
}
7-10 计算工资
#include <stdio.h>
int main()
{
int a = 0, b = 0, c = 0; float d = 0;
scanf("%d %d", &a, &b);
if (a < 5)
c = 30;
else
c = 50;
if (b < 40)
d = b * c;
else
d = 40 * c + (b - 40) * c * 1.5;
printf("%.2f", d);
return 0;
}
7-11 分段计算居民水费
#include <stdio.h>
int main()
{
float a = 0.0, b = 0.0;
scanf("%f", &a);
if (a <= 15.0)
b = 4.0 * a / 3.0;
else
b = 2.5 * a - 17.5;
printf("%.2f", b);
return 0;
}
7-12 两个数的简单计算器
#include <stdio.h>
int main()
{
int a = 0, b = 0, c = 0; char d = 0;
scanf("%d %c %d", &a, &d, &b);
switch (d)
{
case'+':
c = a + b; break;
case'-':
c = a - b; break;
case'*':
c = a * b; break;
case'/':
c = a / b; break;
case'%':
c = a % b; break;
}
if (d != '+' && d != '-' && d != '*' && d != '/' && d != '%')
printf("ERROR");
else
printf("%d", c);
return 0;
}
7-13 日K蜡烛图
#include<stdio.h>
int main()
{
float open, high, low, close;
scanf("%f %f %f %f", &open, &high, &low, &close);
if (open > close)
printf("BW-Solid");
else
{
if (open < close)
printf("R-Hollow");
else
printf("R-Cross");
}
if (low<open && low<close && high>open && high>close)
printf(" with Lower Shadow and Upper Shadow");
else
{
if (low < open && low < close)
printf(" with Lower Shadow");
else
{
if (high > open && high > close)
printf(" with Upper Shadow");
}
}
return 0;
}
7-14 求整数段和
#include <stdio.h>
int main()
{
int A = 0, B = 0, Sum = 0, i = 0;
scanf("%d %d", &A, &B);
for (i = 1; A <= B; i++, A++)
{
printf("%5d", A);
if (i == 5)
{
printf("\n");
i = 0;
}
Sum += A;
}
if (i != 1)
printf("\n");
printf("Sum = %d", Sum);
}
7-15 计算圆周率
#include <stdio.h>
int main()
{
float hold, i = 1, sum = 1, element = 1, numerator = 1;
scanf("%f", &hold);
for (i = 1; element / numerator >= hold; i++)
{
element = element * i;
numerator = numerator * (2 * i + 1);
sum = sum + element / numerator ;
}
printf("%f", sum * 2);
return 0;
}
7-16 求符合给定条件的整数集
#include <stdio.h>
int main()
{
int A = 0, B = 0, a = 0, b = 0, c = 0, sum = 0, i = 0;
scanf("%d", &A);
B = A + 4;
for (a = A; a < B; a++)
{
for (b = A; b < B; b++)
{
for (c = A; c < B; c++)
{
if (a != b && b != c && a != c)
{
sum = a * 100 + b * 10 + c;
printf("%d", sum);
i++;
if (i == 6)
{
printf("\n");
i = 0;
}
else
printf(" ");
}
}
}
}
return 0;
}
7-17 爬动的蠕虫
#include <stdio.h>
int main()
{
int n = 0, u = 0, d = 0, time = 0;
scanf("%d %d %d", &n, &u, &d);
for (; n > 0; n += d,time++)
{
n -= u;
time++;
if (n <= 0)
break;
}
printf("%d", time);
return 0;
}
7-18 二分法求多项式单根
#include <stdio.h>
#include <math.h>
float a3 = 0, a2 = 0, a1 = 0, a0 = 0;
float f(float x)
{
float y = 0;
y = a3 * x * x * x + a2 * x * x + a1 * x + a0;
return y;
}
int main()
{
float a = 0, b = 0, flag = 0;
int i = 0, j = 0;
scanf("%f %f %f %f", &a3, &a2, &a1, &a0);
scanf("%f %f", &a, &b);
while (fabs(a - b) >= 0.0001)
{
flag = f((a + b) / 2);
if (flag == 0)
break;
else if (flag * f(a) > 0)
a = (a + b) / 2;
else if (flag * f(b) > 0)
b = (a + b) / 2;
}
printf("%.2f", (a + b) / 2);
return 0;
}
7-19 支票面额
#include <stdio.h>
int main ()
{
int n;
scanf("%d", &n);
int y,f;
int flag=0;
for(y=0;y<100;y++)
{
for(f=y;f<100;f++)
{
if(n+199*y==98*f)
{
flag=1;
break;
}
}
if(flag==1)
break;
}
if(y==100)
{
printf("No Solution");
}
else
{
printf("%d.%d",y,f);
}
return 0;
}
7-20 打印九九口诀表
#include <stdio.h>
int main()
{
int N = 0, a = 1, b = 1;
scanf("%d", &N);
for (; a <= N && b <= N ;a++)
{
printf("%d*%d=%-4d", a, b, a * b);
if (a == b)
{
b++;
a = 0;
printf("\n");
}
}
}
7-21 求特殊方程的正整数解
#include <stdio.h>
#include <math.h>
int main()
{
int n = 0, x = 0, y = 0, i = 0;
scanf("%d", &n);
for (x = 1; x <= 10000; x++)
{
for (y = 1; y <= 10000; y++)
{
if (x * x + y * y == n && x <=y )
{
printf("%d %d\n", x, y);
i++;
}
}
}
if (i == 0)
printf("No Solution\n");
}
7-22 龟兔赛跑
#include <stdio.h>
int main()
{
int T = 0, time = 0, turtle = 0, rabbit = 0, rest = 0;
scanf("%d", &T);
for (; time < T; time++)
{
turtle += 3;
if (time % 10 == 0 && rest == 0 && rabbit > turtle)
rest = 30;
if (rest == 0)
rabbit += 9;
else
rest--;
}
if (turtle > rabbit)
printf("@_@ %d", turtle);
else
{
if (turtle < rabbit)
printf("^_^ %d", rabbit);
else
printf("-_- %d", rabbit);
}
return 0;
}
7-23 币值转换
#include <stdio.h>
int main()
{
int n = 0, i = 0;
int arr[10] = { 0 };
scanf("%d", &n);
if (n == 0)
printf("a");
while (n > 0)
{
arr[i++] = n % 10;
n /= 10;
}
for (i--; i >= 0; i--)
{
if (arr[i])
{
switch (i % 4)
{
case 3: printf("%cQ", arr[i] + 'a'); break;
case 2: printf("%cB", arr[i] + 'a'); break;
case 1: printf("%cS", arr[i] + 'a'); break;
case 0: printf("%c", arr[i] + 'a'); break;
}
}
else if (arr[i] == 0 && arr[i - 1] != 0 && i > 0)
printf("%c", arr[i] + 'a');
if (i == 8)
printf("Y");
else if (i == 4 && (arr[4] + arr[5] + arr[6] + arr[7]) > 0)
printf("W");
}
return 0;
}